Database > RDS for MariaDB > DB ์ธ์Šคํ„ด์Šค

DB ์ธ์Šคํ„ด์Šค

DB ์ธ์Šคํ„ด์Šค๋Š” ๊ฐ€์ƒ ์žฅ๋น„์™€ ์„ค์น˜๋œ MariaDB์„ ์•„์šฐ๋ฅด๋Š” ๊ฐœ๋…์œผ๋กœ, RDS for MariaDB์—์„œ ์ œ๊ณตํ•˜๋Š” MariaDB์˜ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. DB ์ธ์Šคํ„ด์Šค์˜ ์šด์˜์ฒด์ œ์— ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ์˜ค์ง DB ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์‹œ ์ž…๋ ฅํ•˜์‹  ํฌํŠธ๋ฅผ ํ†ตํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌํŠธ ๋ฒ”์œ„๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ์ œ์•ฝ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌํŠธ ๋ฒ”์œ„๋Š” 3306~43306 ์‚ฌ์ด์ž…๋‹ˆ๋‹ค.

DB ์ธ์Šคํ„ด์Šค๋Š” ๊ณ ๊ฐ์ด ๋ถ€์—ฌํ•˜๋Š” ์ด๋ฆ„๊ณผ ์ž๋™์œผ๋กœ ๋ถ€์—ฌ๋˜๋Š” 32๋ฐ”์ดํŠธ ์•„์ด๋””๋กœ ์‹๋ณ„๋ฉ๋‹ˆ๋‹ค. DB ์ธ์Šคํ„ด์Šค ์ด๋ฆ„์€ ์•„๋ž˜์™€ ๊ฐ™์€ ์ œ์•ฝ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • DB ์ธ์Šคํ„ด์Šค ์ด๋ฆ„์€ ๋ฆฌ์ „๋ณ„๋กœ ๊ณ ์œ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • DB ์ธ์Šคํ„ด์Šค ์ด๋ฆ„์€ 1~100 ์‚ฌ์ด์˜ ์˜๋ฌธ์ž, ์ˆซ์ž, ์ผ๋ถ€ ๊ธฐํ˜ธ(-, _, .)๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฒซ ๋ฒˆ์งธ ๊ธ€์ž๋Š” ์˜๋ฌธ์ž๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DB ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

์•„๋ž˜ ์„ค์ •๋“ค์„ ํ†ตํ•˜์—ฌ DB ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์šฉ์„ฑ ์˜์—ญ

NHN Cloud๋Š” ๋ฌผ๋ฆฌ ํ•˜๋“œ์›จ์–ด ๋ฌธ์ œ๋กœ ์ƒ๊ธฐ๋Š” ์žฅ์• ์— ๋Œ€๋น„ํ•˜๊ธฐ ์œ„ํ•ด ์ „์ฒด ์‹œ์Šคํ…œ์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ€์šฉ์„ฑ ์˜์—ญ์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ€์šฉ์„ฑ ์˜์—ญ๋ณ„๋กœ ์ €์žฅ ์‹œ์Šคํ…œ, ๋„คํŠธ์›Œํฌ ์Šค์œ„์น˜, ์ƒ๋ฉด, ์ „์› ์žฅ์น˜๊ฐ€ ๋ชจ๋‘ ๋ณ„๋„๋กœ ๊ตฌ์„ฑ๋ผ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ๊ฐ€์šฉ์„ฑ ์˜์—ญ ๋‚ด์—์„œ ์ƒ๊ธฐ๋Š” ์žฅ์• ๋Š” ๋‹ค๋ฅธ ๊ฐ€์šฉ์„ฑ ์˜์—ญ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฏ€๋กœ ์„œ๋น„์Šค ์ „์ฒด์˜ ๊ฐ€์šฉ์„ฑ์ด ๋†’์•„์ง‘๋‹ˆ๋‹ค. DB ์ธ์Šคํ„ด์Šค๋ฅผ ์—ฌ๋Ÿฌ ๊ฐ€์šฉ์„ฑ ์˜์—ญ์— ๋‚˜๋ˆ  ๊ตฌ์ถ•ํ•œ๋‹ค๋ฉด ์„œ๋น„์Šค์˜ ๊ฐ€์šฉ์„ฑ์„ ๋”์šฑ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐ€์šฉ์„ฑ ์˜์—ญ์— ํฉ์–ด์ ธ์„œ ์ƒ์„ฑ๋œ DB ์ธ์Šคํ„ด์Šค๋ผ๋ฆฌ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ด๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ ๋น„์šฉ์€ ๋ถ€๊ณผ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

[์ฃผ์˜] ์ด๋ฏธ ์ƒ์„ฑํ•œ DB ์ธ์Šคํ„ด์Šค์˜ ๊ฐ€์šฉ์„ฑ ์˜์—ญ์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

DB ์—”์ง„

์•„๋ž˜์— ๋ช…์‹œ๋œ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒ„์ „ ๋น„๊ณ 
MariaDB 10.6.16
MariaDB 10.6.12
MariaDB 10.6.11
MariaDB 10.3.30

DB ์ธ์Šคํ„ด์Šค ํƒ€์ž…

DB ์ธ์Šคํ„ด์Šค๋Š” ํƒ€์ž…์— ๋”ฐ๋ผ ์„œ๋กœ ๋‹ค๋ฅธ CPU ์ฝ”์–ด ์ˆ˜์™€ ๋ฉ”๋ชจ๋ฆฌ ์šฉ๋Ÿ‰์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. DB ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์‹œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์›Œํฌ๋กœ๋“œ์— ๋”ฐ๋ผ ์•Œ๋งž์€ DB ์ธ์Šคํ„ด์Šค ํƒ€์ž…์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํƒ€์ž… ์„ค๋ช…
m2 CPU์™€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ท ํ˜• ์žˆ๊ฒŒ ์„ค์ •ํ•œ ํƒ€์ž…์ž…๋‹ˆ๋‹ค.
c2 CPU์˜ ์„ฑ๋Šฅ์„ ๋†’๊ฒŒ ์„ค์ •ํ•œ ์ธ์Šคํ„ด์Šค ํƒ€์ž…์ž…๋‹ˆ๋‹ค.
r2 ๋‹ค๋ฅธ ์ž์›์— ๋น„ํ•ด ๋ฉ”๋ชจ๋ฆฌ์˜ ์‚ฌ์šฉ๋Ÿ‰์ด ๋งŽ์€ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
x1 ๊ณ ์‚ฌ์–‘์˜ CPU์™€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง€์›ํ•˜๋Š” ํƒ€์ž…์ž…๋‹ˆ๋‹ค. ๋†’์€ ์„ฑ๋Šฅ์ด ํ•„์š”ํ•œ ์„œ๋น„์Šค๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฏธ ์ƒ์„ฑํ•œ DB ์ธ์Šคํ„ด์Šค์˜ ํƒ€์ž…์€ ์›น ์ฝ˜์†”์„ ํ†ตํ•ด ์†์‰ฝ๊ฒŒ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

[์ฃผ์˜] ์ด๋ฏธ ์ƒ์„ฑํ•œ DB ์ธ์Šคํ„ด์Šค์˜ ํƒ€์ž… ๋ณ€๊ฒฝ ์‹œ DB ์ธ์Šคํ„ด์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๋ฏ€๋กœ ์ˆ˜๋ถ„์˜ ์ค‘๋‹จ ์‹œ๊ฐ„์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€

๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. DB ์ธ์Šคํ„ด์Šค๋Š” HDD, SSD์˜ 2๊ฐ€์ง€ ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ์œ ํ˜•์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ์œ ํ˜•์— ๋”ฐ๋ผ ์„ฑ๋Šฅ๊ณผ ๊ฐ€๊ฒฉ์ด ๋‹ค๋ฅด๋ฏ€๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์›Œํฌ๋กœ๋“œ์— ๋”ฐ๋ผ ์•Œ๋งž์€ ์œ ํ˜•์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€๋Š” 20GB~2TB๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[์ฃผ์˜] ์ด๋ฏธ ์ƒ์„ฑํ•œ DB ์ธ์Šคํ„ด์Šค์˜ ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ์œ ํ˜•์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

[์ฐธ๊ณ ] ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€๋ฅผ 2TB ์ด์ƒ ์‚ฌ์šฉํ•˜๋ ค๋ฉด NHN Cloud ๊ณ ๊ฐ ์„ผํ„ฐ๋กœ ์—ฐ๋ฝํ•˜์‹ญ์‹œ์˜ค.

์•„๋ž˜ ์ž‘์—…์€ ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€์˜ I/O ์šฉ๋Ÿ‰์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง„ํ–‰๋˜๋Š” ๋™์•ˆ DB ์ธ์Šคํ„ด์Šค์˜ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋‹จ์ผ DB ์ธ์Šคํ„ด์Šค์˜ ๋ฐฑ์—…
  • ๋‹จ์ผ DB ์ธ์Šคํ„ด์Šค์˜ ๊ณ ๊ฐ€์šฉ์„ฑ ๊ตฌ์„ฑ
  • ์ฝ๊ธฐ ๋ณต์ œ๋ณธ ์ƒ์„ฑ
  • ์ฝ๊ธฐ ๋ณต์ œ๋ณธ ์žฌ๊ตฌ์ถ•
  • ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ ์žฌ๊ตฌ์ถ•
  • ํŠน์ • ์‹œ์ ์œผ๋กœ ๋ณต์›
  • ์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€๋กœ ๋ฐฑ์—… ๋‚ด๋ณด๋‚ด๊ธฐ

๊ณ ๊ฐ€์šฉ์„ฑ

๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค๋Š” ๊ฐ€์šฉ์„ฑ๊ณผ ๋ฐ์ดํ„ฐ ๋‚ด๊ตฌ์„ฑ์„ ์ฆ๊ฐ€์‹œํ‚ค๊ณ , ์žฅ์•  ํ—ˆ์šฉ์ด ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค๋Š” ๋งˆ์Šคํ„ฐ, ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ€์šฉ์„ฑ ์˜์—ญ์— ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ๋Š” ์žฅ์• ์— ๋Œ€๋น„ํ•œ DB ์ธ์Šคํ„ด์Šค๋กœ ํ‰์†Œ์—๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ์—์„œ ๋ฐฑ์—…์ด ์ˆ˜ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฑ์—…์œผ๋กœ ์ธํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ํšŒํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ๋“ค์€ ๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ

DB ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•  VPC ์„œ๋ธŒ๋„ท์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋™์ผํ•œ ์„œ๋ธŒ๋„ท์— ์—ฐ๊ฒฐ๋œ Compute ์„œ๋น„์Šค์˜ ์ธ์Šคํ„ด์Šค ๊ฐ„์—๋Š” ๋ณ„๋„์˜ ํ”Œ๋กœํŒ… IP ์—†์ด ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ๋น„์šฉ์ด ์ฒญ๊ตฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. DB ์ธ์Šคํ„ด์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ์„ ์ฐจ๋‹จ ํ•˜๋ฏ€๋กœ ์ ‘์†์„ ์›ํ•˜๋Š” ๊ฒฝ์šฐ DB ๋ณด์•ˆ ๊ทธ๋ฃน์„ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

[์ฃผ์˜] ์ด๋ฏธ ์ƒ์„ฑํ•œ DB ์ธ์Šคํ„ด์Šค์˜ ์„œ๋ธŒ๋„ท์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํ”Œ๋กœํŒ… IP

์™ธ๋ถ€์—์„œ DB ์ธ์Šคํ„ด์Šค์— ์ ‘๊ทผํ•˜๋ ค๋ฉด ํ”Œ๋กœํŒ… IP๋ฅผ DB ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Internet Gateway๊ฐ€ ์—ฐ๊ฒฐ๋œ ์„œ๋ธŒ๋„ท์„ ์—ฐ๊ฒฐํ•  ๊ฒฝ์šฐ์—๋งŒ ํ”Œ๋กœํŒ… IP๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”Œ๋กœํŒ… IP๋Š” ์‚ฌ์šฉ๊ณผ ๋™์‹œ์— ๊ณผ๊ธˆ์ด ๋˜๋ฉฐ, ์ด์™€ ๋ณ„๊ฐœ๋กœ ํ”Œ๋กœํŒ… IP๋ฅผ ํ†ตํ•œ ์ธํ„ฐ๋„ท ๋ฐฉํ–ฅ์˜ ํŠธ๋ž˜ํ”ฝ์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ๋ณ„๋„ ๊ณผ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน

ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์€ DB ์ธ์Šคํ„ด์Šค์— ์„ค์น˜๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. DB ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์‹œ ๋ฐ˜๋“œ์‹œ ํ•˜๋‚˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์€ ์ƒ์„ฑ ์ดํ›„์—๋„ ์ž์œ ๋กญ๊ฒŒ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

DB ๋ณด์•ˆ ๊ทธ๋ฃน

DB ๋ณด์•ˆ ๊ทธ๋ฃน์€ ์™ธ๋ถ€ ์นจ์ž…์— ๋Œ€๋น„ํ•ด ์ ‘์†์„ ์ œํ•œํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์†ก์ˆ˜์‹  ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•ด์„œ ํŠน์ • ํฌํŠธ ๋ฒ”์œ„ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํฌํŠธ์— ๋Œ€ํ•ด์„œ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. DB ์ธ์Šคํ„ด์Šค์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ DB ๋ณด์•ˆ ๊ทธ๋ฃน์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. DB ๋ณด์•ˆ ๊ทธ๋ฃน์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ DB ๋ณด์•ˆ ๊ทธ๋ฃน ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—…

DB ์ธ์Šคํ„ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฐฑ์—…ํ•˜๋„๋ก ์„ค์ •ํ•˜๊ฑฐ๋‚˜, ์›น ์ฝ˜์†”์„ ํ†ตํ•ด ์›ํ•˜๋Š” ์‹œ๊ธฐ์— ๋ฐฑ์—…์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—…์ด ์ˆ˜ํ–‰๋˜๋Š” ๋™์•ˆ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ธฐ ์œ„ํ•ด ์„œ๋น„์Šค์˜ ๋ถ€ํ•˜๊ฐ€ ์ ์€ ์‹œ๊ฐ„์— ๋ฐฑ์—…ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—…์œผ๋กœ ์ธํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์›์น˜ ์•Š์œผ๋ฉด ๊ณ ๊ฐ€์šฉ์„ฑ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์—์„œ ๋ฐฑ์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—… ํŒŒ์ผ์€ ๋‚ด๋ถ€ ๋ฐฑ์—… ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅ๋˜๋ฉฐ, ๋ฐฑ์—… ์šฉ๋Ÿ‰์— ๋”ฐ๋ผ ๊ณผ๊ธˆ๋ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ NHN Cloud์˜ ์‚ฌ์šฉ์ž ์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€๋กœ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์žฅ์• ์— ๋Œ€๋น„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฐฑ์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—…์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ ๋ฐฑ์—… ๋ฐ ๋ณต์› ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์•Œ๋ฆผ

DB ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์‹œ ๊ธฐ๋ณธ ์•Œ๋ฆผ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์•Œ๋ฆผ์„ ์„ค์ •ํ•˜๋ฉด {DB ์ธ์Šคํ„ด์Šค ์ด๋ฆ„}-default ์ด๋ฆ„์œผ๋กœ ์ƒˆ๋กœ์šด ์•Œ๋ฆผ ๊ทธ๋ฃน์ด ์ƒ์„ฑ๋˜๋ฉฐ ์•„๋ž˜ ์•Œ๋ฆผ ํ•ญ๋ชฉ๋“ค์ด ์ž๋™์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์•Œ๋ฆผ์œผ๋กœ ์ƒ์„ฑ๋œ ์•Œ๋ฆผ ๊ทธ๋ฃน์€ ์ž์œ ๋กญ๊ฒŒ ์ˆ˜์ •, ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•Œ๋ฆผ ๊ทธ๋ฃน์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ ์•Œ๋ฆผ ๊ทธ๋ฃน ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ ๋น„๊ต ๋ฐฉ๋ฒ• ์ž„๊ฒŸ๊ฐ’ ์ง€์† ์‹œ๊ฐ„
CPU ์‚ฌ์šฉ๋ฅ  >= 80% 5๋ถ„
Storage ๋‚จ์€ ์‚ฌ์šฉ๋Ÿ‰ <= 5,120MB 5๋ถ„
Database Connection Status <= 0 0๋ถ„
Storage ์‚ฌ์šฉ๋Ÿ‰ >= 95% 5๋ถ„
๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ๊ฒฐํ•จ <= 0 0๋ถ„
Connection Ratio >= 85% 5๋ถ„
๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ >= 90% 5๋ถ„
Slow Query >= 60 counts/min 5๋ถ„

์‚ญ์ œ ๋ณดํ˜ธ

์‚ญ์ œ ๋ณดํ˜ธ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด ์‹ค์ˆ˜๋กœ DB ์ธ์Šคํ„ด์Šค๊ฐ€ ์‚ญ์ œ๋˜์ง€ ์•Š๋„๋ก ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DB ์ธ์Šคํ„ด์Šค ๋ชฉ๋ก

์›น ์ฝ˜์†”์—์„œ ์ƒ์„ฑ๋œ DB ์ธ์Šคํ„ด์Šค๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. DB ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋‹จ์œ„๋กœ ๋ฌถ์–ด์„œ ๋ณด๊ฑฐ๋‚˜, ๊ฐœ๋ณ„ DB ์ธ์Šคํ„ด์Šค๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

db-instance-list-ko

โถ DB ์ธ์Šคํ„ด์Šค ํ™”๋ฉด ๋ชจ๋“œ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โท ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ๊ทธ๋ฃน ์•ˆ์— ์†ํ•œ DB ์ธ์Šคํ„ด์Šค๋ฅผ ํŽผ์น˜๊ฑฐ๋‚˜ ์ ‘์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โธ ๊ฐ€์žฅ ์ตœ๊ทผ ์ˆ˜์ง‘๋œ ๋ชจ๋‹ˆํ„ฐ๋ง ์ง€ํ‘œ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. โน ํ˜„์žฌ ์ƒํƒœ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โบ ์ง„ํ–‰ ์ค‘์ธ ์ž‘์—…์ด ์žˆ์œผ๋ฉด ์Šคํ”ผ๋„ˆ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. โป ๊ฒ€์ƒ‰ ์กฐ๊ฑด์„ ๋ณ€๊ฒฝ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DB ์ธ์Šคํ„ด์Šค์˜ ์ƒํƒœ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฐ’๋“ค๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ์‚ฌ์šฉ์ž์˜ ํ–‰์œ„์™€ ํ˜„์žฌ ์ƒํƒœ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

์ƒํƒœ ์„ค๋ช…
BEFORE_CREATE ์ƒ์„ฑ ์ด์ „
AVAILABLE ์‚ฌ์šฉ ๊ฐ€๋Šฅ
STORAGE_FULL ์šฉ๋Ÿ‰ ๋ถ€์กฑ
FAIL_TO_CREATE ์ƒ์„ฑ ์‹คํŒจ
FAIL_TO_CONNECT ์—ฐ๊ฒฐ ์‹คํŒจ
REPLICATION_STOP ๋ณต์ œ ์ค‘๋‹จ
FAILOVER ์žฅ์•  ์กฐ์น˜ ์™„๋ฃŒ
FAILOVER_SHUTDOWN ์žฅ์•  ์กฐ์น˜ ์™„๋ฃŒ(์ •์ง€), 2023๋…„ 4์›” 11์ผ ์ด์ „์— ์žฅ์•  ์กฐ์น˜๋œ DB ์ธ์Šคํ„ด์Šค
SHUTDOWN ์ค‘์ง€๋จ

๋ณ€๊ฒฝ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒ€์ƒ‰ ์กฐ๊ฑด์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

db-instance-filter-ko

โถ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ ์šฉ์ด ํ•„์š”ํ•œ DB ์ธ์Šคํ„ด์Šค๋ฅผ ํ•„ํ„ฐ๋ง ์กฐ๊ฑด์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DB ์ธ์Šคํ„ด์Šค ์ƒ์„ธ

DB ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•˜๋ฉด ์ƒ์„ธ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

db-instance-detail-ko

โถ ์ ‘์† ์ •๋ณด์˜ ๋„๋ฉ”์ธ์„ ํด๋ฆญํ•˜๋ฉด IP ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ํŒ์—… ์ฐฝ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. โท DB ๋ณด์•ˆ ๊ทธ๋ฃน์„ ํด๋ฆญํ•˜๋ฉด DB ๋ณด์•ˆ ๊ทœ์น™์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ํŒ์—… ์ฐฝ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. โธ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์„ ํด๋ฆญํ•˜๋ฉด ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. โน ๋งˆ์šฐ์Šค๋กœ ๋“œ๋ž˜๊ทธ ์•ค๋“œ ๋“œ๋กญ ํ•˜์—ฌ ์ƒ์„ธ ์ •๋ณด ํŒจ๋„์˜ ๋†’์ด๋ฅผ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โบ ์ƒ์„ธ ์ •๋ณด ํŒจ๋„์˜ ๋†’์ด๋ฅผ ๋ฏธ๋ฆฌ ์ง€์ •๋œ ๋†’์ด๋กœ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ ‘์† ์ •๋ณด

DB ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์‹œ ๋‚ด๋ถ€ ๋„๋ฉ”์ธ์„ ๋ฐœ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ๋„๋ฉ”์ธ์€ ์‚ฌ์šฉ์ž VPC ์„œ๋ธŒ๋„ท์— ์†ํ•œ IP ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค. ๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ ์žฅ์•  ์กฐ์น˜๊ฐ€ ๋˜์–ด ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ๊ฐ€ ์ƒˆ๋กœ์šด ๋งˆ์Šคํ„ฐ๋กœ ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„ ๋‚ด๋ถ€ ๋„๋ฉ”์ธ์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํŠน๋ณ„ํ•œ ์ด์œ ๊ฐ€ ์—†์œผ๋ฉด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์ ‘์† ์ •๋ณด๋Š” ๋ฐ˜๋“œ์‹œ ๋‚ด๋ถ€ ๋„๋ฉ”์ธ์„ ์ด์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ”Œ๋กœํŒ… IP๋ฅผ ์ƒ์„ฑํ•œ ๊ฒฝ์šฐ ์™ธ๋ถ€ ๋„๋ฉ”์ธ์„ ์ถ”๊ฐ€๋กœ ๋ฐœ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ์™ธ๋ถ€ ๋„๋ฉ”์ธ์€ ํ”Œ๋กœํŒ… IP์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค. ์™ธ๋ถ€ ๋„๋ฉ”์ธ ๋˜๋Š” ํ”Œ๋กœํŒ… IP๋Š” ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ DB ๋ณด์•ˆ ๊ทธ๋ฃน์˜ ๊ทœ์น™์„ ์ ์ ˆํžˆ ์„ค์ •ํ•˜์—ฌ DB ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณดํ˜ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋กœ๊ทธ

DB ์ธ์Šคํ„ด์Šค์˜ ๋กœ๊ทธ ํƒญ์—์„œ๋Š” ๊ฐ์ข… ๋กœ๊ทธ ํŒŒ์ผ์„ ๋ณด๊ฑฐ๋‚˜ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ ํŒŒ์ผ์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •ํ•ด์ง„ ์„ค์ •์œผ๋กœ ๋กœํ…Œ์ดํŠธ ๋ฉ๋‹ˆ๋‹ค. ์ผ๋ถ€ ๋กœ๊ทธ ํŒŒ์ผ์€ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์—์„œ ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ ๋กœํ…Œ์ดํŠธ ์„ค์ • ๋ณ€๊ฒฝ ์—ฌ๋ถ€ ์—ฐ๊ด€ ํŒŒ๋ผ๋ฏธํ„ฐ
error.log 100MB 10๊ฐœ ๊ณ ์ •
slow_query.log 100MB 40๊ฐœ ๊ณ ์ • slow_query_log
general_log.log 100MB 40๊ฐœ ๊ณ ์ • general_log
server_audit.log 20MB 30๊ฐœ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ server_audit_logging
server_audit_file_rotations
mysql-bin.xxxxxx 5์ผ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ binlog_expire_logs_seconds

db-instance-detail-log-ko

โถ ๋กœ๊ทธ ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋กœ๊ทธ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ํŒ์—… ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์ตœ๋Œ€ 65,535Bytes์˜ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โท ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ํด๋ฆญํ•˜๋ฉด DB ์ธ์Šคํ„ด์Šค์˜ ๋กœ๊ทธ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. โธ ๋‹ค์šด๋กœ๋“œ๊ฐ€ ์ค€๋น„๋˜๋ฉด ๋‹ค์šด๋กœ๋“œ ๋ฒ„ํŠผ์ด ๋…ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ํด๋ฆญํ•˜๋ฉด ๋กœ๊ทธ๋ฅผ ๋‚ด๋ ค๋ฐ›์Šต๋‹ˆ๋‹ค.

[์ฃผ์˜] ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ํด๋ฆญํ•˜๋ฉด ์•ฝ 5๋ถ„๊ฐ„ ๋กœ๊ทธ ํŒŒ์ผ์ด ๋ฐฑ์—… ์Šคํ† ๋ฆฌ์ง€์— ์—…๋กœ๋“œ๋˜๋ฉฐ ๋กœ๊ทธ ํŒŒ์ผ์˜ ํฌ๊ธฐ๋งŒํผ ๋ฐฑ์—… ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰์ด ๊ณผ๊ธˆ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œ๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋กœ๊ทธ ํŒŒ์ผ์˜ ํฌ๊ธฐ๋งŒํผ ์ธํ„ฐ๋„ท ํŠธ๋ž˜ํ”ฝ์ด ๊ณผ๊ธˆ๋ฉ๋‹ˆ๋‹ค.

โน ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ(binary log)์˜ ๊ฒฝ์šฐ 2๊ฐ€์ง€ ํ˜•ํƒœ๋กœ ๋‚ด๋ ค๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ ํ˜•ํƒœ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ํŒ์—… ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

db-instance-detail-log-popup-ko

โบ mysqlbinlog ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ(binary log)๋ฅผ SQL ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ ํ›„ ๋‚ด๋ ค๋ฐ›์œผ๋ ค๋ฉด ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

DB ์Šคํ‚ค๋งˆ & ์‚ฌ์šฉ์ž

DB ์ธ์Šคํ„ด์Šค์˜ DB ์Šคํ‚ค๋งˆ & ์‚ฌ์šฉ์ž ํƒญ์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ƒ์„ฑ๋œ ์Šคํ‚ค๋งˆ์™€ ์‚ฌ์šฉ์ž๋ฅผ ์กฐํšŒ ๋ฐ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DB ์Šคํ‚ค๋งˆ ์ƒ์„ฑ

db-instance-detail-schema-ko

โถ ์ƒ์„ฑ์„ ํด๋ฆญํ•˜๋ฉด DB ์Šคํ‚ค๋งˆ์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ํŒ์—… ์ฐฝ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. โท DB ์Šคํ‚ค๋งˆ ์ด๋ฆ„์„ ์ž…๋ ฅํ•œ ๋’ค ํ™•์ธ์„ ํด๋ฆญํ•˜์—ฌ DB ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DB ์Šคํ‚ค๋งˆ ์ด๋ฆ„์€ ์•„๋ž˜์™€ ๊ฐ™์€ ์ œ์•ฝ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • 1~64์ž ์‚ฌ์ด์˜ ์•ŒํŒŒ๋ฒณ, ์ˆซ์ž, _๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฒซ ๋ฒˆ์งธ ๊ธ€์ž๋Š” ์˜๋ฌธ์ž๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • information_schema, performance_schema, db_helper, sys, mysql, rds_maintenance ๋Š” DB ์Šคํ‚ค๋งˆ ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ƒ์„ฑ๋œ DB ์Šคํ‚ค๋งˆ์˜ ์ด๋ฆ„์€ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

DB ์Šคํ‚ค๋งˆ ์‚ญ์ œ

db-instance-detail-schema-delete-ko

โถ ์‚ญ์ œํ•  DB ์Šคํ‚ค๋งˆ๋ฅผ ์„ ํƒ ํ›„ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. โท ์‚ญ์ œ ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•˜๋ฉด ์‚ญ์ œ ํ™•์ธ ํŒ์—… ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ํ™•์ธ์„ ํด๋ฆญํ•˜์—ฌ ์‚ญ์ œ๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ƒ์„ฑ

db-instance-detail-user-create-ko

โถ + ์ƒ์„ฑ์„ ํด๋ฆญํ•˜๋ฉด ์‚ฌ์šฉ์ž ์ถ”๊ฐ€ ํŒ์—… ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. โท ์‚ฌ์šฉ์ž ID๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ID๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ์ œ์•ฝ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • 1~32์ž ์‚ฌ์ด์˜ ๊ธ€์ž์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • mysql.session, mysql.sys, mysql.infoschema, sqlgw, admin, etladm, alertman, prom, rds_admin, rds_mha, rds_repl ์€ ์‚ฌ์šฉ์ž ID๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

โธ Password๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. โน ์ ‘์†์„ ํ—ˆ์šฉํ•  Host IP๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. % ๋ฌธ์ž๋ฅผ ์ด์šฉํ•˜๋ฉด ํ—ˆ์šฉํ•  Host IP๋ฅผ ๋ฒ”์œ„๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 1.1.1.% ๋Š” 1.1.1.0~1.1.1.255 ์‚ฌ์ด์˜ ๋ชจ๋“  IP๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. โบ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ถ€์—ฌํ•  ๊ถŒํ•œ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ๊ณผ ์„ค๋ช…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

READ * ์กฐํšŒ ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

GRANT SELECT, SHOW VIEW, PROCESS, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO '{user_id}'@'{host}';
GRANT SELECT ON `mysql`.* TO '{user_id}'@'{host}';
GRANT SELECT, EXECUTE ON `sys`.* TO '{user_id}'@'{host}';
GRANT SELECT ON `performance_schema`.* TO '{user_id}'@'{host}';

CRUD * READ ๊ถŒํ•œ์„ ํฌํ•จํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

GRANT INSERT, UPDATE, DELETE, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE ON *.* TO '{user_id}'@'{host}';

DDL * CRUD ๊ถŒํ•œ์„ ํฌํ•จํ•˜๋ฉฐ, DDL ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

GRANT CREATE, DROP, INDEX, ALTER, CREATE VIEW, REFERENCES, EVENT, ALTER ROUTINE, CREATE ROUTINE, TRIGGER, RELOAD ON *.* TO '{user_id}'@'{host}';
GRANT EXECUTE ON `mysql`.* TO '{user_id}'@'{host}';

CUSTOM * ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐฑ์—…์œผ๋กœ๋ถ€ํ„ฐ DB ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณต์›ํ•œ ๊ฒฝ์šฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ์‚ฌ์šฉ์ž๋Š” CUSTOM ๊ถŒํ•œ์œผ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค. * CUSTOM ๊ถŒํ•œ ํ…œํ”Œ๋ฆฟ์—๋Š” ์–ด๋–ค ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. * CUSTOM ๊ถŒํ•œ ํ…œํ”Œ๋ฆฟ์—์„œ ๋‹ค๋ฅธ ๊ถŒํ•œ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๋ณ€๊ฒฝํ•œ ๊ฒฝ์šฐ ๋‹ค์‹œ CUSTOM ๊ถŒํ•œ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ˆ˜์ •

db-instance-detail-user-modify-ko

โถ ์ˆ˜์ •ํ•  ์‚ฌ์šฉ์ž ํ–‰์˜ ์ˆ˜์ •์„ ํด๋ฆญํ•˜๋ฉด ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํŒ์—… ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. โท Password๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์‚ญ์ œ

db-instance-detail-user-delete-ko

โถ ์‚ญ์ œํ•  ์‚ฌ์šฉ์ž๋ฅผ ์„ ํƒ ํ›„ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. โท ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•˜๋ฉด ์‚ญ์ œ ํ™•์ธ ํŒ์—… ํ™”๋ฉด์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ํ™•์ธ์„ ํด๋ฆญํ•˜์—ฌ ์‚ญ์ œ๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DB ์ธ์Šคํ„ด์Šค ์ˆ˜์ •

์›น ์ฝ˜์†”์„ ํ†ตํ•ด ์ƒ์„ฑ๋œ DB ์ธ์Šคํ„ด์Šค์˜ ๋‹ค์–‘ํ•œ ํ•ญ๋ชฉ์„ ์†์‰ฝ๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์š”์ฒญํ•œ ํ•ญ๋ชฉ์€ ์ˆœ์ฐจ์ ์œผ๋กœ DB ์ธ์Šคํ„ด์Šค์— ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ ์šฉ ๊ณผ์ •์—์„œ ์žฌ์‹œ์ž‘์ด ํ•„์š”ํ•  ๊ฒฝ์šฐ ๋ชจ๋“  ๋ณ€๊ฒฝ์„ ์ ์šฉํ•œ ํ›„ DB ์ธ์Šคํ„ด์Šค๋ฅผ ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•œ ํ•ญ๋ชฉ๊ณผ ์žฌ์‹œ์ž‘์ด ํ•„์š”ํ•œ ํ•ญ๋ชฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ์žฌ์‹œ์ž‘ ํ•„์š” ์—ฌ๋ถ€
๊ฐ€์šฉ์„ฑ ์˜์—ญ ์•„๋‹ˆ์˜ค
DB ์—”์ง„ ์˜ˆ ์˜ˆ
DB ์ธ์Šคํ„ด์Šค ํƒ€์ž… ์˜ˆ ์˜ˆ
๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ์ข…๋ฅ˜ ์•„๋‹ˆ์˜ค
๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ํฌ๊ธฐ ์˜ˆ ์˜ˆ
๊ณ ๊ฐ€์šฉ์„ฑ ์—ฌ๋ถ€ ์˜ˆ ์•„๋‹ˆ์˜ค
Ping ๊ฐ„๊ฒฉ ์˜ˆ ์•„๋‹ˆ์˜ค
์ด๋ฆ„ ์˜ˆ ์•„๋‹ˆ์˜ค
์„ค๋ช… ์˜ˆ ์•„๋‹ˆ์˜ค
DB ํฌํŠธ ์˜ˆ ์˜ˆ
VPC ์„œ๋ธŒ๋„ท ์•„๋‹ˆ์˜ค
ํ”Œ๋กœํŒ… IP ์˜ˆ ์•„๋‹ˆ์˜ค
ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน ์˜ˆ ๋ณ€๊ฒฝ๋œ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์žฌ์‹œ์ž‘ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๊ฒฐ์ •
DB ๋ณด์•ˆ ๊ทธ๋ฃน ์˜ˆ ์•„๋‹ˆ์˜ค
๋ฐฑ์—… ์„ค์ • ์˜ˆ ์•„๋‹ˆ์˜ค
์Šคํ‚ค๋งˆ & ์‚ฌ์šฉ์ž ์ œ์–ด ์˜ˆ ์•„๋‹ˆ์˜ค

๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ ์žฌ์‹œ์ž‘์ด ํ•„์š”ํ•œ ํ•ญ๋ชฉ์˜ ๋ณ€๊ฒฝ์ด ์žˆ์œผ๋ฉด ์•ˆ์ •์„ฑ์„ ๋†’์ด๊ณ  ์ˆœ๋‹จ ์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•˜์—ฌ ์žฅ์•  ์กฐ์น˜๋ฅผ ์ด์šฉํ•œ ์žฌ์‹œ์ž‘ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

db-instance-modify-ha-ko.png

์žฅ์•  ์กฐ์น˜๋ฅผ ์ด์šฉํ•œ ์žฌ์‹œ์ž‘์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋งˆ์Šคํ„ฐ์™€ ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ ์šฉํ•œ ํ›„ DB ์ธ์Šคํ„ด์Šค๋ฅผ ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค์˜ ์ˆ˜๋™ ์žฅ์•  ์กฐ์น˜ ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

DB ์Šคํ‚ค๋งˆ & ์‚ฌ์šฉ์ž ์ง์ ‘ ์ œ์–ด

RDS for MariaDB์—์„œ๋Š” DB ์Šคํ‚ค๋งˆ์™€ ์‚ฌ์šฉ์ž๋ฅผ ์†์‰ฝ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์›น ์ฝ˜์†”์—์„œ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•˜๋Š” ๊ธฐ๋Šฅ๋„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ง์ ‘ ์ œ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ˜„์žฌ ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š” ๋ชจ๋“  ์œ ์ €์—๊ฒŒ ์•„๋ž˜ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.

GRANT CREATE,DROP,LOCK TABLES,REFERENCES,EVENT,ALTER,INDEX,INSERT,SELECT,UPDATE,DELETE,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,EXECUTE,CREATE USER,PROCESS,RELOAD,REPLICATION SLAVE,REPLICATION CLIENT,SHOW DATABASES, CREATE TEMPORARY TABLES,TRIGGER ON *.* TO '{user_id}'@'{host}' WITH GRANT OPTION;

[์ฃผ์˜] ์ง์ ‘ ์ œ์–ด ์‚ฌ์šฉ ์ดํ›„ ๋‹ค์‹œ ์‚ฌ์šฉ ์•ˆ ํ•จ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด * ๊ธฐ์กด์— ๋ถ€์—ฌํ–ˆ๋˜ ๊ถŒํ•œ๋“ค์„ ํšŒ์ˆ˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋•Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด DB ์Šคํ‚ค๋งˆ๋‚˜ ์‚ฌ์šฉ์ž๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค๋ฉด ์›น ์ฝ˜์†”์˜ ๋ฐ์ดํ„ฐ์™€ ์ •ํ•ฉ์„ฑ์ด ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. * ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ถ€์—ฌ๋œ ๊ถŒํ•œ๊ณผ ์ƒ๊ด€์—†์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ์‚ฌ์šฉ์ž๋Š” CUSTOM ๊ถŒํ•œ์œผ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค.

DB ์ธ์Šคํ„ด์Šค ์‚ญ์ œ

๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” DB ์ธ์Šคํ„ด์Šค๋Š” ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋ฉด ํ•ด๋‹น ๋ณต์ œ ๊ทธ๋ฃน์— ์†ํ•œ ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ์™€ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ๋„ ๋ชจ๋‘ ํ•จ๊ป˜ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ์‚ญ์ œ๋œ DB ์ธ์Šคํ„ด์Šค๋Š” ๋ณต๊ตฌํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ค‘์š”ํ•œ DB ์ธ์Šคํ„ด์Šค๋Š” ์‚ญ์ œ ๋ณดํ˜ธ ์„ค์ •์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—…

์žฅ์•  ์ƒํ™ฉ์— ๋Œ€๋น„ํ•˜์—ฌ DB ์ธ์Šคํ„ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฏธ๋ฆฌ ์ค€๋น„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ์›น ์ฝ˜์†”์—์„œ ๋ฐฑ์—…์„ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜, ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฐฑ์—…์ด ์ˆ˜ํ–‰๋˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ๋ฐฑ์—… ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

๋ณต์›

๋ฐฑ์—…์„ ์ด์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ์‹œ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์› ์‹œ ํ•ญ์ƒ ์ƒˆ๋กœ์šด DB ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋˜๋ฉฐ, ๊ธฐ์กด DB ์ธ์Šคํ„ด์Šค์— ๋ณต์›ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ๋ณต์› ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์šฉ๋Ÿ‰ ํ™•๋ณด

๊ธ‰๊ฒฉํ•œ ๋ถ€ํ•˜๋กœ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ(binary log)๊ฐ€ ๊ณผ๋„ํ•˜๊ฒŒ ์ƒ์„ฑ๋˜์–ด ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€์˜ ์šฉ๋Ÿ‰์ด ๋ถ€์กฑํ•  ๊ฒฝ์šฐ ์›น ์ฝ˜์†”์˜ ์šฉ๋Ÿ‰ ํ™•๋ณด ๊ธฐ๋Šฅ์„ ์ด์šฉํ•ด ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›น ์ฝ˜์†”์—์„œ ์šฉ๋Ÿ‰ ํ™•๋ณด๋ฅผ ์„ ํƒํ•˜๋ฉด DB ์ธ์Šคํ„ด์Šค์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ํŒ์—… ํ™”๋ฉด์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ๋ฅผ ์„ ํƒํ•œ ๋’ค ํ™•์ธ์„ ๋ˆŒ๋Ÿฌ ์„ ํƒํ•œ ํ•ญ๋ชฉ ์ด์ „์— ์ƒ์„ฑ๋œ ๋ชจ๋“  ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. ์šฉ๋Ÿ‰ ํ™•๋ณด ๊ธฐ๋Šฅ์€ ์ผ์‹œ์ ์œผ๋กœ ์šฉ๋Ÿ‰์„ ํ™•๋ณดํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ๊ณ„์†ํ•ด์„œ ์šฉ๋Ÿ‰์ด ๋ถ€์กฑํ•˜๋‹ค๋ฉด ์„œ๋น„์Šค ๋ถ€ํ•˜์— ๋งž๊ฒŒ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ์˜ ์ €์žฅ ๊ธฐ๊ฐ„์„ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€์˜ ํฌ๊ธฐ๋ฅผ ํ™•์žฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

[์ฐธ๊ณ ] binlog_expire_logs_seconds ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ(binary log)์˜ ์ €์žฅ ๊ธฐ๊ฐ„์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[์ฃผ์˜] ์‚ญ์ œ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ(binary log)์— ๋”ฐ๋ผ ํŠน์ • ์‹œ์ ์œผ๋กœ ๋ณต์›๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ ์šฉ

DB ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐ๋œ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์˜ ์„ค์ •์ด ๋ณ€๊ฒฝ๋˜์–ด๋„ ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ DB ์ธ์Šคํ„ด์Šค์— ์ž๋™์œผ๋กœ ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ DB ์ธ์Šคํ„ด์Šค์— ์ ์šฉ๋œ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ์—ฐ๊ฒฐ๋œ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์˜ ์„ค์ •์ด ์„œ๋กœ ๋‹ค๋ฅผ ๊ฒฝ์šฐ ์›น ์ฝ˜์†”์— ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฒ„ํŠผ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DB ์ธ์Šคํ„ด์Šค์— ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

db-instance-list-parameter-ko

โถ ๋Œ€์ƒ DB ์ธ์Šคํ„ด์Šค์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ โท ๋Œ€์ƒ DB ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•œ ํ›„ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ ์šฉ ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ โธ ๋Œ€์ƒ DB ์ธ์Šคํ„ด์Šค์˜ ๊ธฐ๋ณธ ์ •๋ณด ํƒญ์—์„œ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ ์šฉ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์—์„œ ์žฌ์‹œ์ž‘์„ ํ•„์š”๋กœ ํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋œ ๊ฒฝ์šฐ, ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๋Š” ๊ณผ์ •์—์„œ DB ์ธ์Šคํ„ด์Šค๊ฐ€ ์žฌ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ ์•ˆ์ •์„ฑ์„ ๋†’์ด๊ณ  ์ˆœ๋‹จ ์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•˜์—ฌ ์žฅ์•  ์กฐ์น˜๋ฅผ ์ด์šฉํ•œ ์žฌ์‹œ์ž‘ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

db-instance-parameter-ha-ko

์žฅ์•  ์กฐ์น˜๋ฅผ ์ด์šฉํ•œ ์žฌ์‹œ์ž‘์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋งˆ์Šคํ„ฐ์™€ ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ ์šฉํ•œ ํ›„ DB ์ธ์Šคํ„ด์Šค๋ฅผ ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค์˜ ์ˆ˜๋™ ์žฅ์•  ์กฐ์น˜ ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€์— ์žˆ๋Š” ๋ฐฑ์—…์œผ๋กœ ๋ณต์›

์™ธ๋ถ€ MariaDB ๋ฐฑ์—… ํŒŒ์ผ์„ NHN Cloud์˜ ์‚ฌ์šฉ์ž ์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€์— ์—…๋กœ๋“œ ํ•˜์—ฌ RDS for MariaDB์˜ DB ์ธ์Šคํ„ด์Šค๋กœ ๋ณต์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ์™ธ๋ถ€ MariaDB ๋ฐฑ์—…์„ ์ด์šฉํ•œ ๋ณต์› ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€๋กœ ๋ฐฑ์—… ๋‚ด๋ณด๋‚ด๊ธฐ

๋ฐฑ์—…์„ ์ˆ˜ํ–‰ํ•จ๊ณผ ๋™์‹œ์— ๋ฐฑ์—… ํŒŒ์ผ์„ NHN Cloud์˜ ์‚ฌ์šฉ์ž ์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€๋กœ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ๋ฐฑ์—… ๋‚ด๋ณด๋‚ด๊ธฐ ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์ฝ๊ธฐ ๋ณต์ œ๋ณธ

์ฝ๊ธฐ ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด์„œ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์€ ํ•˜๋‚˜์˜ ๋งˆ์Šคํ„ฐ์— ๋Œ€ํ•ด์„œ ์ตœ๋Œ€ 5๋Œ€๊นŒ์ง€ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์€ ์ƒ์„ฑํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ฝ๊ธฐ ๋ณต์ œ๋ณธ ์ƒ์„ฑ

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋ณต์ œ ๊ทธ๋ฃน์— ์†ํ•œ DB ์ธ์Šคํ„ด์Šค ์ค‘ ํ…Œ์ด๋ธ” ์ž ๊ธˆ ์‚ฌ์šฉ ์˜ต์…˜์œผ๋กœ ์ƒ์„ฑ๋œ ๋ฐฑ์—… ํŒŒ์ผ ๋ฐ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ(binary log)๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—… ํŒŒ์ผ์ด ์—†๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ ์ˆœ์„œ์— ๋”ฐ๋ผ ๋ฐฑ์—…์„ ์ˆ˜ํ–‰ํ•  DB ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

โถ ์ž๋™ ๋ฐฑ์—… ์„ค์ •ํ•œ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ โท ์ž๋™ ๋ฐฑ์—… ์„ค์ •ํ•œ ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ โธ ์ž๋™ ๋ฐฑ์—… ์„ค์ •ํ•œ ๋งˆ์Šคํ„ฐ

์กฐ๊ฑด์— ๋งž๋Š” DB ์ธ์Šคํ„ด์Šค๊ฐ€ ์—†์„ ๊ฒฝ์šฐ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ ์ƒ์„ฑ ์š”์ฒญ์€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

[์ฃผ์˜] ๋งˆ์Šคํ„ฐ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํฌ๊ธฐ์— ๋น„๋ก€ํ•˜์—ฌ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ ์ƒ์„ฑ ์‹œ๊ฐ„์ด ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—…์ด ์ˆ˜ํ–‰ ๋˜๋Š” DB ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ ์ƒ์„ฑ ๊ณผ์ •์—์„œ ์Šคํ† ๋ฆฌ์ง€ I/O ์„ฑ๋Šฅ ํ•˜๋ฝ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[์ฐธ๊ณ ] ์ฝ๊ธฐ ๋ณต์ œ๋ณธ ์ƒ์„ฑ ๊ณผ์ •์— ํ•„์š”ํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ(binary log) ํฌ๊ธฐ๋งŒํผ ๋ฐฑ์—… ์Šคํ† ๋ฆฌ์ง€ ๊ณผ๊ธˆ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด ์›น ์ฝ˜์†”์—์„œ

db-instance-replica-create-ko

โถ ์›๋ณธ DB ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•œ ๋’ค ์ฝ๊ธฐ ๋ณต์ œ๋ณธ ์ƒ์„ฑ์„ ํด๋ฆญํ•˜๋ฉด

์•„๋ž˜ ์„ค์ •๋“ค์„ ํ†ตํ•˜์—ฌ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ ๋ถˆ๊ฐ€ ํ•ญ๋ชฉ

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ์ƒ์„ฑํ•  ๋•Œ ์•„๋ž˜ ๋‚˜์—ด๋œ ํ•ญ๋ชฉ๋“ค์€ ์›๋ณธ DB ์ธ์Šคํ„ด์Šค์˜ ์„ค์ •์„ ๋”ฐ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  • DB ์—”์ง„
  • ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ์ข…๋ฅ˜
  • ์‚ฌ์šฉ์ž VPC ์„œ๋ธŒ๋„ท

์ฝ๊ธฐ ๋ณต์ œ๋ณธ ๋ฆฌ์ „

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ์ƒ์„ฑํ•  ๋ฆฌ์ „์„ ์„ ํƒํ•  ๋•Œ ๋ฆฌ์ „ ํ”ผ์–ด๋ง์„ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฆฌ์ „์— ์กด์žฌํ•˜๋Š” VPC ๊ฐ„ ๋ฆฌ์ „ ํ”ผ์–ด๋ง์„ ์—ฐ๊ฒฐํ•˜๋ฉด ๋‹ค๋ฅธ ๋ฆฌ์ „ VPC์— ์†ํ•œ ์„œ๋ธŒ๋„ท์— ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ, ์›๋ณธ DB ์ธ์Šคํ„ด์Šค์˜ ๋ฆฌ์ „๊ณผ ๋‹ค๋ฅธ ๋ฆฌ์ „์„ ์„ ํƒํ•˜๋ฉด ๋ณต์ œ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, DB ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

[์ฃผ์˜] ๋ฆฌ์ „ ํ”ผ์–ด๋ง์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋”๋ผ๋„ ๋ผ์šฐํŠธ ์„ค์ •์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์„ ๊ฒฝ์šฐ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ ์ƒ์„ฑ์— ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ๋ณต์ œ๊ฐ€ ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์šฉ์„ฑ ์˜์—ญ

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ๊ฐ€์šฉ์„ฑ ์˜์—ญ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์„ค๋ช…์€ ๊ฐ€์šฉ์„ฑ ์˜์—ญ ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

DB ์ธ์Šคํ„ด์Šค ํƒ€์ž…

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์€ ๋งˆ์Šคํ„ฐ์™€ ๋™์ผํ•œ ์‚ฌ์–‘ ๋˜๋Š” ๋” ๋†’์€ ์‚ฌ์–‘์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ๋‚ฎ์€ ์‚ฌ์–‘์œผ๋กœ ์ƒ์„ฑ ์‹œ ๋ณต์ œ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ํฌ๊ธฐ

์›๋ณธ DB ์ธ์Šคํ„ด์Šค์™€ ๋™์ผํ•œ ํฌ๊ธฐ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ํฌ๊ธฐ๋ฅผ ์ž‘๊ฒŒ ์„ค์ •ํ•  ๊ฒฝ์šฐ, ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰ ๋ถ€์กฑ์œผ๋กœ ๋ณต์ œ ๊ณผ์ •์ด ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”Œ๋กœํŒ… IP

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ํ”Œ๋กœํŒ… IP ์‚ฌ์šฉ ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์„ค๋ช…์€ ํ”Œ๋กœํŒ… IP ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์„ ์„ ํƒํ•  ๋•Œ ๋ณต์ œ ๊ด€๋ จ ์„ค์ • ๋ณ€๊ฒฝ์ด ํ•„์š” ์—†๋‹ค๋ฉด ์›๋ณธ DB ์ธ์Šคํ„ด์Šค์™€ ๋™์ผํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

DB ๋ณด์•ˆ ๊ทธ๋ฃน

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์— ์ ์šฉํ•  DB ๋ณด์•ˆ ๊ทธ๋ฃน์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ณต์ œ์— ํ•„์š”ํ•œ ๊ทœ์น™์€ ์ž๋™์œผ๋กœ ์ ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— DB ๋ณด์•ˆ ๊ทธ๋ฃน์— ๋ณ„๋„๋กœ ๋ณต์ œ ๊ด€๋ จ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. DB ๋ณด์•ˆ ๊ทธ๋ฃน์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ DB ๋ณด์•ˆ ๊ทธ๋ฃน ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—…

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ๋ฐฑ์—… ์„ค์ •์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—…์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ ๋ฐฑ์—… ๋ฐ ๋ณต์› ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์•Œ๋ฆผ

๊ธฐ๋ณธ ์•Œ๋ฆผ ์‚ฌ์šฉ ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์„ค๋ช…์€ ๊ธฐ๋ณธ ์•Œ๋ฆผ ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์‚ญ์ œ ๋ณดํ˜ธ

์‚ญ์ œ ๋ณดํ˜ธ ์‚ฌ์šฉ ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์„ค๋ช…์€ ์‚ญ์ œ ๋ณดํ˜ธ ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์ฝ๊ธฐ ๋ณต์ œ๋ณธ ์Šน๊ฒฉ

๋งˆ์Šคํ„ฐ์™€์˜ ๋ณต์ œ ๊ด€๊ณ„๋ฅผ ํ•ด์ œํ•˜๊ณ  ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ๋…๋ฆฝ๋œ ๋งˆ์Šคํ„ฐ๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ณผ์ •์„ ์Šน๊ฒฉ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์Šน๊ฒฉ๋œ ๋งˆ์Šคํ„ฐ๋Š” ๋…๋ฆฝ๋œ DB ์ธ์Šคํ„ด์Šค๋กœ์„œ ์ž‘๋™ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์Šน๊ฒฉ์„ ์›ํ•˜๋Š” ์ฝ๊ธฐ ๋ณต์ œ๋ณธ๊ณผ ๋งˆ์Šคํ„ฐ ์‚ฌ์ด์— ๋ณต์ œ ์ง€์—ฐ์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ์ง€์—ฐ์ด ํ•ด๊ฒฐ๋  ๋•Œ๊นŒ์ง€ ์Šน๊ฒฉ์ด ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ ์Šน๊ฒฉ๋œ DB ์ธ์Šคํ„ด์Šค๋Š” ์ด์ „์˜ ๋ณต์ œ ๊ด€๊ณ„๋กœ ๋˜๋Œ๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

[์ฃผ์˜] ๋งˆ์Šคํ„ฐ DB ์ธ์Šคํ„ด์Šค์˜ ์ƒํƒœ๊ฐ€ ๋น„์ •์ƒ์ผ ๊ฒฝ์šฐ์—๋Š” ์Šน๊ฒฉ ์ž‘์—…์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

[์ฐธ๊ณ ] ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์ด ์œ„์น˜ํ•œ ๋ฆฌ์ „๊ณผ ๋™์ผํ•œ ๋ฆฌ์ „์˜ ์›น ์ฝ˜์†”์„ ํ†ตํ•ด ์Šน๊ฒฉ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ๊ธฐ ๋ณต์ œ๋ณธ ๊ฐ•์ œ ์Šน๊ฒฉ

๋งˆ์Šคํ„ฐ๋‚˜ ์›๋ณธ ๋ฆฌ์ „์˜ ์ƒํƒœ์™€ ๊ด€๊ณ„์—†์ด ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ํ˜„์žฌ ์‹œ์  ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ•์ œ ์Šน๊ฒฉ์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์ œ ์ง€์—ฐ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ ์œ ์‹ค์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ๊ธด๊ธ‰ํ•˜๊ฒŒ ์„œ๋น„์Šค์— ํˆฌ์ž…ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ์•„๋‹ˆ๋ผ๋ฉด ์ด ๊ธฐ๋Šฅ์˜ ์‚ฌ์šฉ์€ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ๋ณต์ œ ์ค‘๋‹จ

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์€ ์—ฌ๋Ÿฌ ์ด์œ ๋กœ ๋ณต์ œ๊ฐ€ ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ์ƒํƒœ๊ฐ€ ๋ณต์ œ ์ค‘๋‹จ์ธ ๊ฒฝ์šฐ ๋น ๋ฅด๊ฒŒ ์›์ธ์„ ํ™•์ธํ•˜์—ฌ ์ •์ƒํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์ œ ์ค‘๋‹จ ์ƒํƒœ๊ฐ€ ์žฅ์‹œ๊ฐ„ ์ง€์†๋  ๊ฒฝ์šฐ ๋ณต์ œ ๋”œ๋ ˆ์ด๊ฐ€ ๋Š˜์–ด๋‚˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ •์ƒํ™”์— ํ•„์š”ํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ(binary log)๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ์žฌ๊ตฌ์ถ•ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์ œ๊ฐ€ ์ค‘๋‹จ๋œ ์›์ธ์€ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์—์„œ SHOW SLAVE STATUS ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Last_Errno ๊ฐ’์ด 1062์ธ ๊ฒฝ์šฐ ์•„๋ž˜ Procedure๋ฅผ ์˜ค๋ฅ˜๊ฐ€ ์‚ฌ๋ผ์งˆ ๋•Œ๊นŒ์ง€ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

mariadb> CALL mysql.tcrds_repl_skip_repl_error();

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ์žฌ๊ตฌ์ถ•

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ๋ณต์ œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์žฌ๊ตฌ์ถ•์„ ํ†ตํ•ด ์ •์ƒ ์ƒํƒœ๋กœ ๋ณต์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ญ์ œํ•˜๊ณ , ๋งˆ์Šคํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ๋กญ๊ฒŒ ์žฌ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค. ์žฌ๊ตฌ์ถ•ํ•˜๋Š” ๋™์•ˆ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ์žฌ๊ตฌ์ถ• ํ•˜๋ ค๋ฉด ๋ณต์ œ ๊ทธ๋ฃน์— ์†ํ•œ DB ์ธ์Šคํ„ด์Šค ์ค‘ ํ…Œ์ด๋ธ” ์ž ๊ธˆ ์‚ฌ์šฉ ์˜ต์…˜์œผ๋กœ ์ƒ์„ฑ๋œ ๋ฐฑ์—… ํŒŒ์ผ ๋ฐ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ(binary log)๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—… ํŒŒ์ผ์ด ์—†๋Š” ๊ฒฝ์šฐ ๋™์ž‘ ๋ฐ ์ฃผ์˜ ์‚ฌํ•ญ์€ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ ์ƒ์„ฑ ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

[์ฐธ๊ณ ] ์žฌ๊ตฌ์ถ• ํ›„์—๋„ ์ ‘์† ์ •๋ณด(๋„๋ฉ”์ธ, IP)๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

DB ์ธ์Šคํ„ด์Šค ์žฌ์‹œ์ž‘

MariaDB์„ ์žฌ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค๋ฅผ ์ˆ˜๋™์œผ๋กœ ์žฅ์•  ์กฐ์น˜ํ•˜๊ณ ์ž ํ•  ๋•Œ, DB ์ธ์Šคํ„ด์Šค๋ฅผ ์žฌ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์žฌ์‹œ์ž‘ ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋น„์Šค ๋ถ€ํ•˜๊ฐ€ ๋‚ฎ์€ ์‹œ๊ฐ„๋Œ€์— ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ ์žฅ์•  ์กฐ์น˜๋ฅผ ์ด์šฉํ•œ ์žฌ์‹œ์ž‘์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ๋ฅผ ๋จผ์ € ์žฌ์‹œ์ž‘ํ•œ ๋’ค ๋งˆ์Šคํ„ฐ๋ฅผ ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์žฅ์•  ์กฐ์น˜ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•œ ์žฌ์‹œ์ž‘์˜ ๊ฒฝ์šฐ ์ˆ˜๋™ ์žฅ์•  ์กฐ์น˜ ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

DB ์ธ์Šคํ„ด์Šค ์žฌ์‹œ์ž‘์„ ํ•˜๋ ค๋ฉด ์›น ์ฝ˜์†”์—์„œ

db-instance-restart-ko

โถ ์žฌ์‹œ์ž‘์„ ์›ํ•˜๋Š” DB ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒ ํ›„ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ DB ์ธ์Šคํ„ด์Šค ์žฌ์‹œ์ž‘ ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

DB ์ธ์Šคํ„ด์Šค ๊ฐ•์ œ ์žฌ์‹œ์ž‘

DB ์ธ์Šคํ„ด์Šค์˜ MariaDB์ด ์ •์ƒ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๊ฐ•์ œ๋กœ ์žฌ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์ œ ์žฌ์‹œ์ž‘์˜ ๊ฒฝ์šฐ MariaDB์— SIGTERM ๋ช…๋ น์„ ๋‚ด๋ ค ์ •์ƒ ์ข…๋ฃŒ๋˜๊ธฐ๋ฅผ 10๋ถ„๊ฐ„ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. 10๋ถ„ ์•ˆ์— MariaDB์ด ์ •์ƒ ์ข…๋ฃŒ๋˜๋ฉด ์ดํ›„ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์žฌ๋ถ€ํŒ…ํ•ฉ๋‹ˆ๋‹ค. 10๋ถ„ ์•ˆ์— ์ •์ƒ ์ข…๋ฃŒ๋˜์ง€ ์•Š์œผ๋ฉด ๊ฐ€์ƒ ๋จธ์‹ ์„ ๊ฐ•์ œ๋กœ ์žฌ๋ถ€ํŒ…ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒ ๋จธ์‹ ์ด ๊ฐ•์ œ๋กœ ์žฌ๋ถ€ํŒ…๋˜๋ฉด ์ž‘์—… ์ค‘์ธ ์ผ๋ถ€ ํŠธ๋žœ์žญ์…˜์ด ์œ ์‹ค๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ ๋ณผ๋ฅจ์ด ์†์ƒ๋˜์–ด ๋ณต๊ตฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์ œ ์žฌ์‹œ์ž‘ ์ดํ›„ DB ์ธ์Šคํ„ด์Šค์˜ ์ƒํƒœ๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์ƒํƒœ๋กœ ๋Œ์•„์˜ค์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์ƒํ™ฉ ๋ฐœ์ƒ ์‹œ ๊ณ ๊ฐ ์„ผํ„ฐ๋กœ ๋ฌธ์˜ํ•˜์‹ญ์‹œ์˜ค.

[์ฃผ์˜] ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์‹ค๋˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ ๋ณผ๋ฅจ์ด ์†์ƒ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์œผ๋ฏ€๋กœ ํ•ด๋‹น ๊ธฐ๋Šฅ์€ ๊ธด๊ธ‰ํ•˜๊ณ  ๋ถˆ๊ฐ€ํ”ผํ•œ ์ƒํ™ฉ ์ด์™ธ์—๋Š” ์‚ฌ์šฉ์„ ์ง€์–‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

[์ฐธ๊ณ ] ๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ ๊ฐ•์ œ ์žฌ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

DB ์ธ์Šคํ„ด์Šค ๊ฐ•์ œ ์žฌ์‹œ์ž‘์„ ํ•˜๋ ค๋ฉด ์›น ์ฝ˜์†”์—์„œ

db-instance-restart-force-ko

โถ ๊ฐ•์ œ ์žฌ์‹œ์ž‘์„ ์›ํ•˜๋Š” DB ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒ ํ›„ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ DB ์ธ์Šคํ„ด์Šค ๊ฐ•์ œ ์žฌ์‹œ์ž‘ ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์‚ญ์ œ ๋ณดํ˜ธ ์„ค์ • ๋ณ€๊ฒฝ

์‚ญ์ œ ๋ณดํ˜ธ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด ์‹ค์ˆ˜๋กœ DB ์ธ์Šคํ„ด์Šค๊ฐ€ ์‚ญ์ œ๋˜์ง€ ์•Š๋„๋ก ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ญ์ œ ๋ณดํ˜ธ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•  ๋•Œ๊นŒ์ง€ ํ•ด๋‹น DB ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์‚ญ์ œ ๋ณดํ˜ธ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด

db-instance-deletion-protection-ko

โถ ์‚ญ์ œ ๋ณดํ˜ธ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋ ค๋Š” DB ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒ ํ›„ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ ์‚ญ์ œ ๋ณดํ˜ธ ์„ค์ • ๋ณ€๊ฒฝ ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•˜๋ฉด ํŒ์—… ์ฐฝ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

deletion-protection-popup-ko

โท ์‚ญ์ œ ๋ณดํ˜ธ ์„ค์ •์„ ๋ณ€๊ฒฝํ•œ ํ›„ ํ™•์ธ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค

๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค๋Š” ๊ฐ€์šฉ์„ฑ๊ณผ ๋ฐ์ดํ„ฐ ๋‚ด๊ตฌ์„ฑ์„ ์ฆ๊ฐ€์‹œํ‚ค๊ณ , ์žฅ์•  ํ—ˆ์šฉ์ด ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค๋Š” ๋งˆ์Šคํ„ฐ, ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ€์šฉ์„ฑ ์˜์—ญ์— ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ๋Š” ์žฅ์• ์— ๋Œ€๋น„ํ•œ DB ์ธ์Šคํ„ด์Šค๋กœ ํ‰์†Œ์—๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ์—์„œ ๋ฐฑ์—…์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

[์ฐธ๊ณ ] ๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ, MariaDB ์ฟผ๋ฆฌ๋ฌธ์„ ์‚ฌ์šฉํ•ด ๋‹ค๋ฅธ DB ์ธ์Šคํ„ด์Šค ๋˜๋Š” ์™ธ๋ถ€ MariaDB์˜ Master๋กœ๋ถ€ํ„ฐ ๊ฐ•์ œ๋กœ ๋ณต์ œํ•˜๋„๋ก ์„ค์ •ํ•˜๋ฉด ๊ณ ๊ฐ€์šฉ์„ฑ ๋ฐ ์ผ๋ถ€ ๊ธฐ๋Šฅ๋“ค์ด ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์žฅ์•  ๊ฐ์ง€

์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ์—๋Š” ์žฅ์• ๋ฅผ ๊ฐ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์กด์žฌํ•˜์—ฌ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋งˆ์Šคํ„ฐ์˜ ์ƒํƒœ๋ฅผ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐ์ง€ ์ฃผ๊ธฐ๋ฅผ Ping ๊ฐ„๊ฒฉ์ด๋ผ๊ณ  ํ•˜๋ฉฐ 4ํšŒ ์—ฐ์† ์ƒํƒœ ์ฒดํฌ์— ์‹คํŒจํ•  ๊ฒฝ์šฐ ์žฅ์•  ์กฐ์น˜๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. Ping ๊ฐ„๊ฒฉ์ด ์งง์„์ˆ˜๋ก ์žฅ์• ์— ๋ฏผ๊ฐํ•˜๊ฒŒ ๋ฐ˜์‘ํ•˜๋ฉฐ, Ping ๊ฐ„๊ฒฉ์ด ๊ธธ์ˆ˜๋ก ์žฅ์• ์— ๋‘”๊ฐํ•˜๊ฒŒ ๋ฐ˜์‘ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๋ถ€ํ•˜์— ๋งž๊ฒŒ ์ ์ ˆํ•œ Ping ๊ฐ„๊ฒฉ์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

[์ฐธ๊ณ ] ๋งˆ์Šคํ„ฐ์˜ ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ์‚ฌ์šฉ๋Ÿ‰์ด ๊ฐ€๋“ ์ฐจ๋ฉด ๊ณ ๊ฐ€์šฉ์„ฑ ๊ฐ์‹œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žฅ์• ๋กœ ๊ฐ์ง€ํ•ด ์žฅ์•  ์กฐ์น˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฏ€๋กœ ์ฃผ์˜ํ•˜์‹ญ์‹œ์˜ค.

์ž๋™ ์žฅ์•  ์กฐ์น˜

์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ์—์„œ ๋งˆ์Šคํ„ฐ์˜ ์ƒํƒœ ์ฒดํฌ์— 4ํšŒ ์—ฐ์† ์‹คํŒจํ•  ๊ฒฝ์šฐ ๋งˆ์Šคํ„ฐ๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€ ๋ชปํ•œ๋‹ค๊ณ  ํŒ๋‹จํ•˜์—ฌ ์ž๋™์œผ๋กœ ์žฅ์•  ์กฐ์น˜๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์Šคํ”Œ๋ฆฟ ๋ธŒ๋ ˆ์ธ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•œ ๋งˆ์Šคํ„ฐ์— ํ• ๋‹น๋œ ๋ชจ๋“  ์‚ฌ์šฉ์ž ๋ณด์•ˆ ๊ทธ๋ฃน์˜ ์—ฐ๊ฒฐ์„ ํ•ด์ œํ•˜์—ฌ ์™ธ๋ถ€์˜ ์ ‘์†์„ ์ฐจ๋‹จํ•˜๋ฉฐ, ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ๊ฐ€ ๋งˆ์Šคํ„ฐ์˜ ์—ญํ• ์„ ๋Œ€์‹ ํ•ฉ๋‹ˆ๋‹ค. ์ ‘์†์„ ์œ„ํ•œ ๋‚ด๋ถ€ ๋„๋ฉ”์ธ์˜ A record๋Š” ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•œ ๋งˆ์Šคํ„ฐ์—์„œ ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ๋กœ ๋ณ€๊ฒฝ๋˜๋ฏ€๋กœ, ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ณ€๊ฒฝ์€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์žฅ์•  ์กฐ์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•œ ๋งˆ์Šคํ„ฐ์˜ ์ข…๋ฅ˜๋Š” ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ๋กœ, ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ์˜ ์ข…๋ฅ˜๋Š” ๋งˆ์Šคํ„ฐ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ๋ฅผ ๋ณต๊ตฌํ•˜๊ฑฐ๋‚˜ ์žฌ๊ตฌ์ถ•ํ•˜๊ธฐ ์ „๊นŒ์ง€ ์žฅ์•  ์กฐ์น˜๊ฐ€ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์Šน๊ฒฉ๋œ ๋งˆ์Šคํ„ฐ๋Š” ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ์˜ ๋ชจ๋“  ์ž๋™ ๋ฐฑ์—…์„ ์Šน๊ณ„ํ•ฉ๋‹ˆ๋‹ค. ์žฅ์•  ์กฐ์น˜ ๊ณผ์ •์—์„œ ๋งˆ์Šคํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ๊ฐ€ ๋ชจ๋‘ ์‚ญ์ œ๋˜๋ฏ€๋กœ ๊ธฐ์กด ๋ฐฑ์—…์„ ์ด์šฉํ•œ ์‹œ์  ๋ณต์›์€ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์Šน๊ฒฉ๋œ ๋งˆ์Šคํ„ฐ์—์„œ ์‹ ๊ทœ๋กœ ๋ฐฑ์—…์ด ์ˆ˜ํ–‰๋œ ์‹œ๊ฐ๋ถ€ํ„ฐ ์‹œ์  ๋ณต์›์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[์ฐธ๊ณ ] ๊ณ ๊ฐ€์šฉ์„ฑ ๊ธฐ๋Šฅ์€ ๋„๋ฉ”์ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ ‘์†์„ ์‹œ๋„ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ DNS ์„œ๋ฒ„์— ์ ‘์†ํ•  ์ˆ˜ ์—†๋Š” ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์ผ ๊ฒฝ์šฐ ๋„๋ฉ”์ธ์„ ํ†ตํ•ด DB ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•  ์ˆ˜ ์—†๊ณ , ์žฅ์•  ์กฐ์น˜ ๋ฐœ์ƒ ์‹œ ์ •์ƒ์ ์ธ ์ ‘์†์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ๋„๋ฉ”์ธ์˜ A record ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋Š” ๋ฐ ์•ฝ 3์ดˆ ์ •๋„ ์†Œ์š”๋ฉ๋‹ˆ๋‹ค. ์†Œ์š” ์‹œ๊ฐ„์€ ์ ‘์†์„ ์‹œ๋„ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ํ™˜๊ฒฝ์˜ DNS Cache ์ •์ฑ…์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[์ฃผ์˜] ๋งˆ์Šคํ„ฐ์™€ ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ ๊ฐ„์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ(binary log)์˜ position number ๊ฐ’์ด 100,000,000 ์ด์ƒ ์ฐจ์ด๊ฐ€ ๋‚  ๊ฒฝ์šฐ ์žฅ์•  ์กฐ์น˜๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ

์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์žฅ์•  ์กฐ์น˜๊ฐ€ ๋œ ๋งˆ์Šคํ„ฐ๋ฅผ ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ์˜ ์ž๋™ ๋ฐฑ์—…์€ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์œผ๋ฉฐ, ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ ๋ณต๊ตฌ, ์žฌ๊ตฌ์ถ•, ๋ถ„๋ฆฌ, ์‚ญ์ œ๋ฅผ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ๋ชจ๋“  ๊ธฐ๋Šฅ์€ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ ๋ณต๊ตฌ

์žฅ์•  ์กฐ์น˜ ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ์˜ ์ •ํ•ฉ์„ฑ์ด ๊นจ์ง€์ง€ ์•Š์•˜๊ณ , ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•œ ์‹œ์ ๋ถ€ํ„ฐ ๋ณต๊ตฌ๋ฅผ ์‹œ๋„ํ•˜๋Š” ์‹œ์ ๊นŒ์ง€ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ(binary log)๊ฐ€ ์œ ์‹ค๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ์™€ ์Šน๊ฒฉ๋œ ๋งˆ์Šคํ„ฐ๋ฅผ ๋‹ค์‹œ ๊ณ ๊ฐ€์šฉ์„ฑ ๊ตฌ์„ฑ์œผ๋กœ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ทธ๋Œ€๋กœ ์Šน๊ฒฉ๋œ ๋งˆ์Šคํ„ฐ์™€ ๋ณต์ œ ๊ด€๊ณ„๋ฅผ ๋‹ค์‹œ ์„ค์ •ํ•˜๋ฏ€๋กœ ๋ฐ์ดํ„ฐ์˜ ์ •ํ•ฉ์„ฑ์ด ๊นจ์กŒ๊ฑฐ๋‚˜ ๋ณต๊ตฌ์— ํ•„์š”ํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ(binary log)๊ฐ€ ์œ ์‹ค๋˜์—ˆ๋‹ค๋ฉด ๋ณต๊ตฌ๋Š” ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ ๋ณต๊ตฌ์— ์‹คํŒจํ•  ๊ฒฝ์šฐ ์žฌ๊ตฌ์ถ•์„ ํ†ตํ•ด ๋‹ค์‹œ ๊ณ ๊ฐ€์šฉ์„ฑ ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[์ฐธ๊ณ ] 2023๋…„ 4์›” 11์ผ ์ด์ „์— ์žฅ์•  ์กฐ์น˜๊ฐ€ ๋ฐœ์ƒํ•œ DB ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ ๋ณต๊ตฌ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ๋ฅผ ๋ณต๊ตฌํ•˜๋ ค๋ฉด ์›น ์ฝ˜์†”์—์„œ

db-instance-failover-repair-ko

โถ ๋ณต๊ตฌ๋ฅผ ์›ํ•˜๋Š” ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ๋ฅผ ์„ ํƒ ํ›„ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ ๋ณต๊ตฌ ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ ์žฌ๊ตฌ์ถ•

์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ ๋ณต๊ตฌ์— ์‹คํŒจํ•  ๊ฒฝ์šฐ ์žฌ๊ตฌ์ถ•์„ ์ด์šฉํ•ด ๋‹ค์‹œ ๊ณ ๊ฐ€์šฉ์„ฑ ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์žฌ๊ตฌ์ถ•์€ ๋ณต๊ตฌ์™€ ๋‹ฌ๋ฆฌ ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ชจ๋‘ ์ œ๊ฑฐํ•˜๊ณ , ์Šน๊ฒฉ๋œ ๋งˆ์Šคํ„ฐ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ† ๋Œ€๋กœ ์žฌ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค. ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ๋ฅผ ์žฌ๊ตฌ์ถ• ํ•˜๋ ค๋ฉด ๋ณต์ œ ๊ทธ๋ฃน์— ์†ํ•œ DB ์ธ์Šคํ„ด์Šค ์ค‘ ํ…Œ์ด๋ธ” ์ž ๊ธˆ ์‚ฌ์šฉ ์˜ต์…˜์œผ๋กœ ์ƒ์„ฑ๋œ ๋ฐฑ์—… ํŒŒ์ผ ๋ฐ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ(binary log)๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—… ํŒŒ์ผ์ด ์—†๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ ์ˆœ์„œ์— ๋”ฐ๋ผ ๋ฐฑ์—…์„ ์ˆ˜ํ–‰ํ•  DB ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

โถ ์ž๋™ ๋ฐฑ์—… ์„ค์ •ํ•œ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ โท ์ž๋™ ๋ฐฑ์—… ์„ค์ •ํ•œ ๋งˆ์Šคํ„ฐ

์กฐ๊ฑด์— ๋งž๋Š” DB ์ธ์Šคํ„ด์Šค๊ฐ€ ์—†์„ ๊ฒฝ์šฐ ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ ์žฌ๊ตฌ์ถ• ์š”์ฒญ์€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

[์ฃผ์˜] ๋งˆ์Šคํ„ฐ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํฌ๊ธฐ์— ๋น„๋ก€ํ•˜์—ฌ ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ ์žฌ๊ตฌ์ถ• ์‹œ๊ฐ„์ด ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—…์ด ์ˆ˜ํ–‰ ๋˜๋Š” DB ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ ์žฌ๊ตฌ์ถ• ๊ณผ์ •์—์„œ ์Šคํ† ๋ฆฌ์ง€ I/O ์„ฑ๋Šฅ ํ•˜๋ฝ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[์ฐธ๊ณ ] ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ ์žฌ๊ตฌ์ถ• ๊ณผ์ •์— ํ•„์š”ํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ(binary log) ํฌ๊ธฐ๋งŒํผ ๋ฐฑ์—… ์Šคํ† ๋ฆฌ์ง€ ๊ณผ๊ธˆ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ๋ฅผ ์žฌ๊ตฌ์ถ•ํ•˜๋ ค๋ฉด ์›น ์ฝ˜์†”์—์„œ

db-instance-failover-rebuild-ko

โถ ์žฌ๊ตฌ์ถ•์„ ์›ํ•˜๋Š” ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ๋ฅผ ์„ ํƒ ํ›„ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ ์žฌ๊ตฌ์ถ• ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ ๋ถ„๋ฆฌ

์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ ๋ณต๊ตฌ์— ์‹คํŒจํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ณด์ •์ด ํ•„์š”ํ•  ๊ฒฝ์šฐ ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ณ ๊ฐ€์šฉ์„ฑ ๊ธฐ๋Šฅ์„ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ถ„๋ฆฌ๋œ ๋งˆ์Šคํ„ฐ์™€ ์Šน๊ฒฉ๋œ ๋งˆ์Šคํ„ฐ ๊ฐ„์˜ ๋ณต์ œ ๊ด€๊ณ„๊ฐ€ ๋Š์–ด์ง€๋ฉฐ ๊ฐ๊ฐ ์ผ๋ฐ˜ DB ์ธ์Šคํ„ด์Šค๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋ถ„๋ฆฌ๋œ ์ดํ›„์—๋Š” ๋‹ค์‹œ ์›๋ž˜ ๊ตฌ์„ฑ์œผ๋กœ ๋ณต๊ตฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ ค๋ฉด ์›น ์ฝ˜์†”์—์„œ

db-instance-failover-split-ko

โถ ๋ถ„๋ฆฌ๋ฅผ ์›ํ•˜๋Š” ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ๋ฅผ ์„ ํƒ ํ›„ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ ์žฅ์•  ์กฐ์น˜๋œ ๋งˆ์Šคํ„ฐ ๋ถ„๋ฆฌ ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜๋™ ์žฅ์•  ์กฐ์น˜

๊ณ ๊ฐ€์šฉ์„ฑ DB ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ ์žฌ์‹œ์ž‘์ด ๋™๋ฐ˜๋˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์žฅ์•  ์กฐ์น˜๋ฅผ ์ด์šฉํ•œ ์žฌ์‹œ์ž‘ ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•ด๋‹น ์ž‘์—…์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • DB ์ธ์Šคํ„ด์Šค ์žฌ์‹œ์ž‘
  • ์žฌ์‹œ์ž‘์ด ํ•„์š”ํ•œ ํ•ญ๋ชฉ์˜ ๋ณ€๊ฒฝ
  • ์žฌ์‹œ์ž‘์ด ํ•„์š”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๋ณ€๊ฒฝ์„ ์ ์šฉ
  • ํ•˜์ดํผ๋ฐ”์ด์ € ์ ๊ฒ€์„ ์œ„ํ•œ DB ์ธ์Šคํ„ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

์žฅ์•  ์กฐ์น˜๋ฅผ ์ด์šฉํ•œ ์žฌ์‹œ์ž‘์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ๋ฅผ ๋จผ์ € ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ ์žฅ์•  ์กฐ์น˜๋ฅผ ํ†ตํ•ด ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ๋ฅผ ๋งˆ์Šคํ„ฐ๋กœ ์Šน๊ฒฉ์‹œํ‚ค๊ณ  ๊ธฐ์กด ๋งˆ์Šคํ„ฐ๋Š” ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ ์—ญํ• ์„ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์Šน๊ฒฉ ์‹œ, ์ ‘์†์„ ์œ„ํ•œ ๋‚ด๋ถ€ ๋„๋ฉ”์ธ์˜ A record๋Š” ๋งˆ์Šคํ„ฐ์—์„œ ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ๋กœ ๋ณ€๊ฒฝ๋˜๋ฏ€๋กœ, ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ณ€๊ฒฝ์€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์Šน๊ฒฉ๋œ ๋งˆ์Šคํ„ฐ๋Š” ์ด์ „ ๋งˆ์Šคํ„ฐ์˜ ๋ชจ๋“  ์ž๋™ ๋ฐฑ์—…์„ ์Šน๊ณ„ํ•ฉ๋‹ˆ๋‹ค. ์žฅ์•  ์กฐ์น˜ ๊ณผ์ •์—์„œ ๋งˆ์Šคํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉฐ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ(binary log)๊ฐ€ ๋ชจ๋‘ ์‚ญ์ œ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด ๋ฐฑ์—…์„ ์ด์šฉํ•œ ์‹œ์  ๋ณต์›์€ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์Šน๊ฒฉ๋œ ๋งˆ์Šคํ„ฐ์—์„œ ์‹ ๊ทœ๋กœ ๋ฐฑ์—…์ด ์ˆ˜ํ–‰๋œ ์‹œ๊ฐ๋ถ€ํ„ฐ ์‹œ์  ๋ณต์›์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[์ฐธ๊ณ ] ๊ณ ๊ฐ€์šฉ์„ฑ ๊ธฐ๋Šฅ์€ ๋„๋ฉ”์ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ ‘์†์„ ์‹œ๋„ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ DNS ์„œ๋ฒ„์— ์ ‘์†ํ•  ์ˆ˜ ์—†๋Š” ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์ผ ๊ฒฝ์šฐ ๋„๋ฉ”์ธ์„ ํ†ตํ•ด DB ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•  ์ˆ˜ ์—†๊ณ , ์žฅ์•  ์กฐ์น˜ ๋ฐœ์ƒ ์‹œ ์ •์ƒ์ ์ธ ์ ‘์†์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ๋„๋ฉ”์ธ์˜ A record ๋ณ€๊ฒฝ์ด ๋ฐ˜์˜๋˜๋Š” ๋ฐ ์•ฝ 3์ดˆ ์ •๋„ ์†Œ์š”๋ฉ๋‹ˆ๋‹ค. ์†Œ์š” ์‹œ๊ฐ„์€ ์ ‘์†์„ ์‹œ๋„ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ํ™˜๊ฒฝ์˜ DNS Cache ์ •์ฑ…์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[์ฃผ์˜] ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ์™€ ๋ณต์ œ ๊ทธ๋ฃน์— ํฌํ•จ๋œ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ Seconds_Behind_Master ๊ฐ’์ด 1 ์ด์ƒ์ผ ๊ฒฝ์šฐ ๋ณต์ œ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•˜๋ฉฐ, ์ด๋•Œ ์ˆ˜๋™ ์žฅ์•  ์กฐ์น˜๋Š” ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ๋ถ€ํ•˜๊ฐ€ ์ ์€ ์‹œ๊ฐ„์— ์ˆ˜๋™ ์žฅ์•  ์กฐ์น˜๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋ณต์ œ ์ง€์—ฐ์œผ๋กœ ์ธํ•œ ์žฌ์‹œ์ž‘ ์‹คํŒจ๋Š” ์ด๋ฒคํŠธ ํ™”๋ฉด์„ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฅ์•  ์กฐ์น˜๋ฅผ ์ด์šฉํ•œ ์žฌ์‹œ์ž‘ ์‹œ ๋‹ค์Œ์˜ ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€๋กœ ์„ ํƒํ•˜์—ฌ ์•ˆ์ •์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ์‹œ์  ๋ฐฑ์—… ์ง„ํ–‰

์žฅ์•  ์กฐ์น˜ ๊ณผ์ •์—์„œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ(binary log)๊ฐ€ ๋ชจ๋‘ ์‚ญ์ œ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์žฅ์•  ์กฐ์น˜๋ฅผ ์ด์šฉํ•œ ์žฌ์‹œ์ž‘์ด ์™„๋ฃŒ๋œ ํ›„ ๊ณง๋ฐ”๋กœ ์ˆ˜๋™ ๋ฐฑ์—…์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฅ์•  ์กฐ์น˜ ์ˆ˜๋™ ์ œ์–ด

์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋จผ์ € ์ ์šฉํ•œ ๋’ค ๊ทธ ์ถ”์ด๋ฅผ ๊ด€์ฐฐํ•˜๊ฑฐ๋‚˜, ์ •ํ™•ํ•œ ์‹œ๊ฐ„์— ์žฅ์•  ์กฐ์น˜๋ฅผ ์‹คํ–‰ํ•˜๊ณ ์ž ํ•  ๋•Œ ์›น ์ฝ˜์†”์—์„œ ์žฅ์•  ์กฐ์น˜ ์‹œ์ ์„ ์ง์ ‘ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์žฅ์•  ์กฐ์น˜ ์ˆ˜๋™ ์ œ์–ด๋ฅผ ์„ ํƒํ•˜๋ฉด ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ๊ฐ€ ์žฌ์‹œ์ž‘๋œ ํ›„ โถ ์›น ์ฝ˜์†”์— ์žฅ์•  ์กฐ์น˜ ๋ฒ„ํŠผ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ์žฅ์•  ์กฐ์น˜๊ฐ€ ์‹คํ–‰๋˜๋ฉฐ, ์ตœ๋Œ€ 5์ผ๊ฐ„ ์‹คํ–‰์„ ๋Œ€๊ธฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 5์ผ ์ด๋‚ด์— ์žฅ์•  ์กฐ์น˜๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ํ•ด๋‹น ์ž‘์—…์€ ์ž๋™์œผ๋กœ ์ทจ์†Œ๋ฉ๋‹ˆ๋‹ค.

db-instance-ha-wait-manual-failover-ko

[์ฃผ์˜] ์žฅ์•  ์กฐ์น˜๋ฅผ ๋Œ€๊ธฐ ํ•˜๋Š” ๋™์•ˆ์—๋Š” ์ž๋™ ์žฅ์•  ์กฐ์น˜๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ณต์ œ ์ง€์—ฐ ํ•ด์†Œ ๋Œ€๊ธฐ

๋ณต์ œ ์ง€์—ฐ ํ•ด์†Œ ๋Œ€๊ธฐ ์˜ต์…˜์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ์™€ ๋ณต์ œ ๊ทธ๋ฃน์— ํฌํ•จ๋œ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ๋ณต์ œ ์ง€์—ฐ์ด ์‚ฌ๋ผ์งˆ ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์“ฐ๊ธฐ ๋ถ€ํ•˜ ์ฐจ๋‹จ

๋ณต์ œ ์ง€์—ฐ์„ ํ•ด์†Œํ•˜๋Š” ๋™์•ˆ ์“ฐ๊ธฐ ๋ถ€ํ•˜๋ฅผ ์ถ”๊ฐ€๋กœ ์ฐจ๋‹จํ•˜๋Š” ์„ ํƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์“ฐ๊ธฐ ๋ถ€ํ•˜๋ฅผ ์ฐจ๋‹จํ•˜๋ฉด ์žฅ์•  ์กฐ์น˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋ฐ”๋กœ ์ „์— ๋งˆ์Šคํ„ฐ๊ฐ€ ์ฝ๊ธฐ ์ „์šฉ ๋ชจ๋“œ๋กœ ์ „ํ™˜๋˜์–ด ๋ชจ๋“  ๋ณ€๊ฒฝ ์ฟผ๋ฆฌ๊ฐ€ ์‹คํŒจํ•˜๋„๋ก ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

๊ณ ๊ฐ€์šฉ์„ฑ ์ผ์‹œ ์ค‘์ง€

์ผ์‹œ์ ์ธ ์ž‘์—…์œผ๋กœ ์ธํ•œ ์—ฐ๊ฒฐ ์ค‘๋‹จ ๋˜๋Š” ๋Œ€๋Ÿ‰์˜ ๋ถ€ํ•˜๊ฐ€ ์˜ˆ์ƒ๋˜๋Š” ์ƒํ™ฉ์—์„œ ์ผ์‹œ์ ์œผ๋กœ ๊ณ ๊ฐ€์šฉ์„ฑ ๊ธฐ๋Šฅ์„ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ๊ฐ€์šฉ์„ฑ ๊ธฐ๋Šฅ์ด ์ผ์‹œ ์ค‘์ง€๋˜๋ฉด ์žฅ์• ๋ฅผ ๊ฐ์ง€ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์žฅ์•  ์กฐ์น˜๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ณ ๊ฐ€์šฉ์„ฑ ๊ธฐ๋Šฅ์ด ์ผ์‹œ ์ค‘์ง€๋œ ์ƒํƒœ์—์„œ ์žฌ์‹œ์ž‘์ด ํ•„์š”ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด๋„ ์ผ์‹œ ์ค‘์ง€๋œ ๊ณ ๊ฐ€์šฉ์„ฑ ๊ธฐ๋Šฅ์ด ์žฌ๊ฐœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ณ ๊ฐ€์šฉ์„ฑ ๊ธฐ๋Šฅ์ด ์ผ์‹œ ์ค‘์ง€๋˜์–ด๋„ ๋ฐ์ดํ„ฐ ๋ณต์ œ๋Š” ์ •์ƒ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๊ฑฐ๋‚˜, ์žฅ์• ๊ฐ€ ๊ฐ์ง€๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์žฅ์‹œ๊ฐ„ ์ผ์‹œ ์ค‘์ง€ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ ์žฌ๊ตฌ์ถ•

๋„คํŠธ์›Œํฌ์˜ ๋‹จ์ ˆ, ์ž˜๋ชป๋œ FEDERATED ์—”์ง„ ์‚ฌ์šฉ, ๋‹ค๋ฅธ ๋งˆ์Šคํ„ฐ๋กœ๋ถ€ํ„ฐ์˜ ๋ณต์ œ ์„ค์ •๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์›์ธ์œผ๋กœ ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ ๋ณต์ œ๊ฐ€ ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ ์ค‘๋‹จ ์ƒํƒœ์˜ ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ๋Š” ์ž๋™ ์žฅ์•  ์กฐ์น˜๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ์˜ ๋ณต์ œ ์ค‘๋‹จ์„ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ๋ฅผ ์žฌ๊ตฌ์ถ•ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ ์žฌ๊ตฌ์ถ• ์‹œ์—๋Š” ์˜ˆ๋น„ ๋งˆ์Šคํ„ฐ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ชจ๋‘ ์ œ๊ฑฐํ•˜๋ฉฐ, ๋งˆ์Šคํ„ฐ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ† ๋Œ€๋กœ ์žฌ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ์žฌ๊ตฌ์ถ•์— ํ•„์š”ํ•œ ๋ฐฑ์—… ํŒŒ์ผ์ด ๋งˆ์Šคํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๋งˆ์Šคํ„ฐ์—์„œ ๋ฐฑ์—…์ด ์ˆ˜ํ–‰๋˜๋ฉฐ, ๋ฐฑ์—…์œผ๋กœ ์ธํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MariaDB Procedure

RDS for MariaDB์€ ์‚ฌ์šฉ์ž์˜ ํŽธ์˜๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ณ„์ •์—์„œ ์ œํ•œ๋˜๋Š” ๋ช‡๋ช‡ ๊ธฐ๋Šฅ๋“ค์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ”„๋กœ์‹œ์ €๋“ค์„ ์ž์ฒด์ ์œผ๋กœ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

tcrds_active_process

  • Processlist์—์„œ Sleep ์ƒํƒœ๊ฐ€ ์•„๋‹Œ ACTIVE ์ƒํƒœ์˜ ์ฟผ๋ฆฌ๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.
  • ์ˆ˜ํ–‰ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๋œ ์ˆœ์„œ๋กœ ์ถœ๋ ฅ๋˜๋ฉฐ ์ฟผ๋ฆฌ ๋‚ด์šฉ(SQL)์€ 100์ž๋ฆฌ๊นŒ์ง€๋งŒ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
mariadb> CALL mysql.tcrds_active_process();

tcrds_process_kill

  • ํŠน์ • ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
  • ์ข…๋ฃŒํ•  ํ”„๋กœ์„ธ์Šค ์•„์ด๋””๋Š” information_schema.processlist์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ tcrds_active_process์™€ tcrds_current_lock ํ”„๋กœ์‹œ์ €๋ฅผ ์ด์šฉํ•ด์„œ ํ”„๋กœ์„ธ์Šค์˜ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
mariadb> CALL mysql.tcrds_process_kill(processlist_id );

tcrds_current_lock

  • ํ˜„์žฌ ๋ฝ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์™€ ๋ฝ์„ ์ ์œ ํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ์ •๋ณด๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  • (w) ์นผ๋Ÿผ ์ •๋ณด๊ฐ€ ๋ฝ์„ ํš๋“ํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€๊ธฐํ•˜๋Š” ํ”„๋กœ์„ธ์Šค ์ •๋ณด
  • (B) ์นผ๋Ÿผ ์ •๋ณด๊ฐ€ ๋ฝ์„ ์ ์œ ํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ์ •๋ณด
  • ๋ฝ์„ ์ ์œ ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ๋กœ ์ข…๋ฃŒํ•˜๋ ค๋ฉด (B)PROCESS ์นผ๋Ÿผ์„ ํ™•์ธํ•œ ํ›„, call tcrds_process_kill(process_id)๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
mariadb> CALL mysql.tcrds_current_lock();

tcrds_repl_changemaster

  • ๋ณต์ œ๋ฅผ ์ด์šฉํ•ด ์™ธ๋ถ€ MariaDB DB๋ฅผ NHN Cloud RDS๋กœ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • NHN Cloud RDS์˜ ๋ณต์ œ ๊ตฌ์„ฑ์€ ์ฝ˜์†”์˜ ๋ณต์ œ๋ณธ ์ƒ์„ฑ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
mariadb> CALL mysql. tcrds_repl_changemaster (master_instance_ip, master_instance_port, user_id_for_replication, password_for_replication_user, MASTER_LOG_FILE, MASTER_LOG_POS);
  • ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค๋ช…
  • master_instance_ip: ๋ณต์ œ ๋Œ€์ƒ(Master) ์„œ๋ฒ„์˜ IP
  • master_instance_port: ๋ณต์ œ ๋Œ€์ƒ(Master) ์„œ๋ฒ„์˜ MariaDB ํฌํŠธ
  • user_id_for_replication: ๋ณต์ œ ๋Œ€์ƒ(Master) ์„œ๋ฒ„์˜ MariaDB์— ์ ‘์†ํ•  ๋ณต์ œ์šฉ ๊ณ„์ •
  • password_for_replication_user: ๋ณต์ œ์šฉ ๊ณ„์ • ํŒจ์Šค์›Œ๋“œ
  • MASTER_LOG_FILE: ๋ณต์ œ ๋Œ€์ƒ(Master)์˜ binary log ํŒŒ์ผ๋ช…
  • MASTER_LOG_POS: ๋ณต์ œ ๋Œ€์ƒ(Master)์˜ binary log ํฌ์ง€์…˜
ex) call mysql.tcrds_repl_changemaster('10.162.1.1',10000,'db_repl','password','mysql-bin.000001',4);

[์ฃผ์˜] ๋ณต์ œ์šฉ ๊ณ„์ •์ด ๋ณต์ œ ๋Œ€์ƒ(Master) MariaDB์— ์ƒ์„ฑ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

tcrds_repl_init

  • MariaDB ๋ณต์ œ ์ •๋ณด๋ฅผ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
mariadb> CALL mysql.tcrds_repl_init();

tcrds_repl_slave_stop

  • MariaDB ๋ณต์ œ๋ฅผ ๋ฉˆ์ถฅ๋‹ˆ๋‹ค.
mariadb> CALL mysql.tcrds_repl_slave_stop();

tcrds_repl_slave_start

  • MariaDB ๋ณต์ œ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
mariadb> CALL mysql.tcrds_repl_slave_start();

tcrds_repl_skip_repl_error

  • SQL_SLAVE_SKIP_COUNTER=1๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ Duplicate key ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ tcrds_repl_skip_repl_error ํ”„๋กœ์‹œ์ €๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ณต์ œ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • MariaDB error code 1062: 'Duplicate entry ? for key ?'
mariadb> CALL mysql.tcrds_repl_skip_repl_error();

tcrds_repl_next_changemaster

  • Master์˜ ๋‹ค์Œ ๋ฐ”์ด๋„ˆ๋ฆฌ(binary log) ๋กœ๊ทธ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณต์ œ ์ •๋ณด๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ณต์ œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ tcrds_repl_next_changemaster ํ”„๋กœ์‹œ์ €๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ณต์ œ ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ) MariaDB error code 1236 (ER_MASTER_FATAL_ERROR_READING_BINLOG): Got fatal error from master when reading data from binary log

mariadb> CALL mysql.tcrds_repl_next_changemaster();

tcrds_innodb_monitor_reset

  • information_schema.INNODB_METRICS ํ…Œ์ด๋ธ”์˜ counter๋ฅผ 0์œผ๋กœ ์žฌ์„ค์ •ํ•˜๋Š” innodb_monitor_reset variables๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ์‹œ์ €์ž…๋‹ˆ๋‹ค.
  • SET GLOBAL innodb_monitor_reset = '{counter-name|module_name|pattern|all}'; ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • innodb_monitor_enable, innodb_monitor_disable๋Š” RDS ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
mariadb> CALL mysql.tcrds_innodb_monitor_reset('{counter-name|module_name|pattern|all}');
ex) CALL mysql.tcrds_innodb_monitor_reset('dml_reads');
CALL mysql.tcrds_innodb_monitor_reset('module_dml');

tcrds_innodb_monitor_reset_all

  • counter ๊ฐ’์„ ์žฌ์„ค์ •ํ•˜๋Š” innodb_monitor_reset_all variables๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ์‹œ์ €์ž…๋‹ˆ๋‹ค.
  • innodb_monitor_reset_all์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด counter๊ฐ€ disable ์ƒํƒœ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • SET GLOBAL innodb_monitor_reset_all = '{counter-name|module_name|pattern|all}'; ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
mariadb> CALL mysql.tcrds_innodb_monitor_reset_all('{counter-name|module_name|pattern|all}');

๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

  • RDS๋Š” mysqldump๋ฅผ ์ด์šฉํ•˜์—ฌ NHN Cloud RDS์˜ ์™ธ๋ถ€๋กœ ๋ฐ์ดํ„ฐ๋กœ ๋‚ด๋ณด๋‚ด๊ฑฐ๋‚˜ ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • mysqldump ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” MariaDB์„ ์„ค์น˜ํ–ˆ์„ ๋•Œ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

mysqldump๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‚ด๋ณด๋‚ด๊ธฐ

  • NHN Cloud RDS์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ค€๋น„ํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋‚ด๋ณด๋‚ผ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ฒŒ ๋  ์™ธ๋ถ€ ์ธ์Šคํ„ด์Šค, ๋˜๋Š” ๋กœ์ปฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„ค์น˜๋œ ์ปดํ“จํ„ฐ์˜ ์šฉ๋Ÿ‰์ด ์ถฉ๋ถ„ํžˆ ํ™•๋ณด๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  • NHN Cloud์˜ ์™ธ๋ถ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ณด๋‚ด์•ผ ํ•  ๊ฒฝ์šฐ Floating IP๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ณด๋‚ผ RDS ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  • ์•„๋ž˜์˜ mysqldump ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•˜์—ฌ ์™ธ๋ถ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.

ํŒŒ์ผ๋กœ ๋‚ด๋ณด๋‚ผ ๊ฒฝ์šฐ

mysqldump -h{rds_insance_floating_ip} -u{db_id} -p{db_password} --port={db_port} --single-transaction --routines --events --triggers --databases {database_name1, database_name2, ...} > {local_path_and_file_name}

NHN Cloud RDS ์™ธ๋ถ€์˜ MariaDB DB๋กœ ๋‚ด๋ณด๋‚ผ ๊ฒฝ์šฐ

mysqldump -h{rds_insance_floating_ip} -u{db_id} -p{db_password} --port={db_port} --single-transaction --routines --events --triggers --databases {database_name1, database_name2, ...} | mysql -h{external_db_host} -u{external_db_id} -p{external_db_password} --port={external_db_port}

mysqldump๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ€์ ธ์˜ค๊ธฐ

  • ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ NHN Cloud RDS ์™ธ๋ถ€์˜ DB๋ฅผ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐ€์ ธ์˜ฌ NHN Cloud RDS ์ธ์Šคํ„ด์Šค์˜ ์šฉ๋Ÿ‰์ด ์ถฉ๋ถ„ํ•œ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  • Floating IP๋ฅผ ์ƒ์„ฑํ•˜์—ฌ NHN Cloud RDS ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  • ์•„๋ž˜์˜ mysqldump ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•˜์—ฌ ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
mysqldump -h{external_db_host} -u{external_db_id} -p{external_db_password} --port={external_db_port} --single-transaction --set-gtid-purged=off --routines --events --triggers --databases {database_name1, database_name2, ...} | mysql -h{rds_insance_floating_ip} -u{db_id} -p{db_password} --port={db_port}

๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๋Š” ๋„์ค‘ ERROR 1227 ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ

  • ERROR 1227 ์˜ค๋ฅ˜๋Š” mysqldump ํŒŒ์ผ์˜ ์ €์žฅ๋œ ๊ฐ์ฒด(ํŠธ๋ฆฌ๊ฑฐ, ๋ทฐ, ํ•จ์ˆ˜ ๋˜๋Š” ์ด๋ฒคํŠธ)์— DEFINER ์ •์˜๊ฐ€ ๋˜์–ด ์žˆ์„ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” mysqldump ํŒŒ์ผ์—์„œ DEFINER๋ถ€๋ถ„์„ ์‚ญ์ œ ํ›„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๋Š” ๋„์ค‘ ERROR 1418 ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ

  • ERROR 1418 ์˜ค๋ฅ˜๋Š” mysqldump ํŒŒ์ผ์˜ ํ•จ์ˆ˜ ์„ ์–ธ์— NO SQL, READS SQL DATA, DETERMINISTIC์ด ์—†์œผ๋ฉฐ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋กœ๊ทธ๊ฐ€ ํ™œ์„ฑํ™”๋œ ์ƒํƒœ์ผ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • ์ž์„ธํ•œ ์„ค๋ช…์€ The Binary Log MariaDB ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” mysqldump ํŒŒ์ผ์„ ์ ์šฉํ•  DB ์ธ์Šคํ„ด์Šค์˜ log_bin_trust_function_creators ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐ’์„ 1๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ณต์ œ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‚ด๋ณด๋‚ด๊ธฐ

  • ๋ณต์ œ๋ฅผ ์ด์šฉํ•˜์—ฌ NHN Cloud RDS์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์™ธ๋ถ€์˜ DB๋กœ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์™ธ๋ถ€์˜ DB ๋ฒ„์ „์€ NHN Cloud RDS์˜ ๋ฒ„์ „๊ณผ ๊ฐ™๊ฑฐ๋‚˜ ๊ทธ๋ณด๋‹ค ์ตœ์‹  ๋ฒ„์ „์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ณด๋‚ผ NHN Cloud RDS Master ๋˜๋Š” Read Only Slave ์ธ์Šคํ„ด์Šค๋ฅผ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค.
  • Floating IP๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ณด๋‚ผ NHN Cloud RDS ์ธ์Šคํ„ด์Šค๋“ค์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  • ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด NHN Cloud RDS ์ธ์Šคํ„ด์Šค๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์ผ๋กœ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.
  • Master RDS ์ธ์Šคํ„ด์Šค๋กœ๋ถ€ํ„ฐ ๋‚ด๋ณด๋‚ผ ๊ฒฝ์šฐ
mysqldump -h{rds_master_insance_floating_ip} -u{db_id} -p{db_password} --port={db_port} --single-transaction --master-data=2 --routines --events --triggers --databases {database_name1, database_name2, ...} > {local_path_and_file_name}
  • Read Only Slave RDS ์ธ์Šคํ„ด์Šค๋กœ๋ถ€ํ„ฐ ๋‚ด๋ณด๋‚ผ ๊ฒฝ์šฐ
mysqldump -h{rds_read_only_slave_insance_floating_ip} -u{db_id} -p{db_password} --port={db_port} --single-transaction --dump-slave=2 --routines --events --triggers --databases {database_name1, database_name2, ...} > {local_path_and_file_name}
  • ๋ฐฑ์—…๋œ ํŒŒ์ผ์„ ์—ด์–ด ์ฃผ์„์— ์“ฐ์—ฌ์ง„ MASTER_LOG_FILE ๋ฐ MASTER_LOG_POS๋ฅผ ๋”ฐ๋กœ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
  • NHN Cloud RDS ์ธ์Šคํ„ด์Šค๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฑ์—…ํ•  ์™ธ๋ถ€ ๋กœ์ปฌ ํด๋ผ์ด์–ธํŠธ ๋˜๋Š” DB๊ฐ€ ์„ค์น˜๋œ ์ปดํ“จํ„ฐ์˜ ์šฉ๋Ÿ‰์ด ์ถฉ๋ถ„ํ•œ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  • ์™ธ๋ถ€ DB์˜ my.cnf(Windows์˜ ๊ฒฝ์šฐ my.ini) ํŒŒ์ผ์— ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • server-id์˜ ๊ฒฝ์šฐ NHN Cloud RDS ์ธ์Šคํ„ด์Šค์˜ DB Configuration ํ•ญ๋ชฉ์˜ server-id์™€ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
...
[mysqld]
...
server-id={server_id}
replicate-ignore-db=rds_maintenance
...
  • ์™ธ๋ถ€ DB๋ฅผ ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐฑ์—…๋œ ํŒŒ์ผ์„ ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€์˜ DB์— ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
mysql -h{external_db_host} -u{exteranl_db_id} -p{external_db_password} --port={exteranl_db_port} < {local_path_and_file_name}
  • NHN Cloud RDS ์ธ์Šคํ„ด์Šค์—์„œ ๋ณต์ œ์— ์‚ฌ์šฉํ•  ๊ณ„์ •์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒˆ๋กญ๊ฒŒ ๋ณต์ œ๋ฅผ ์„ค์ •ํ•˜๊ธฐ์— ์•ž์„œ ํ˜น์‹œ ์กด์žฌํ•  ์ˆ˜๋„ ์žˆ๋Š” ๊ธฐ์กด ๋ณต์ œ ์ •๋ณด๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์•„๋ž˜์˜ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ, RESET SLAVE๋ฅผ ์‹คํ–‰ํ•  ๊ฒฝ์šฐ ๊ธฐ์กด ๋ณต์ œ ์ •๋ณด๊ฐ€ ์ดˆ๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค.
STOP SLAVE;

RESET SLAVE;
  • ๋ณต์ œ์— ์‚ฌ์šฉํ•  ๊ณ„์ • ์ •๋ณด์™€ ์•„๊นŒ ๋”ฐ๋กœ ๊ธฐ๋กํ•ด ๋‘์—ˆ๋˜ MASTER_LOG_FILE๊ณผ MSATER_LOG_POS๋ฅผ ์ด์šฉํ•˜์—ฌ ์™ธ๋ถ€ DB์— ์•„๋ž˜์™€ ๊ฐ™์ด ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
CHANGE MASTER TO master_host = '{rds_master_instance_floating_ip}', master_user='{user_id_for_replication}', master_password='{password_forreplication_user}', master_port ={rds_master_instance_port}, master_log_file ='{MASTER_LOG_FILE}', master_log_pos = {MASTER_LOG_POS};

START SLAVE;
  • ์™ธ๋ถ€ DB์™€ NHN Cloud RDS ์ธ์Šคํ„ด์Šค์˜ ์›๋ณธ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ™์•„์ง€๋ฉด ์™ธ๋ถ€ DB์— STOP SLAVE ๋ช…๋ น์„ ์ด์šฉํ•ด ๋ณต์ œ๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

๋ณต์ œ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ€์ ธ์˜ค๊ธฐ

  • ๋ณต์ œ๋ฅผ ์ด์šฉํ•ด ์™ธ๋ถ€ DB๋ฅผ NHN Cloud RDS๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • NHN Cloud RDS ๋ฒ„์ „์€ ์™ธ๋ถ€ DB ๋ฒ„์ „๊ณผ ๊ฐ™๊ฑฐ๋‚˜ ๊ทธ๋ณด๋‹ค ์ตœ์‹  ๋ฒ„์ „์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ณด๋‚ผ ์™ธ๋ถ€ MariaDB ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  • ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€ MariaDB ์ธ์Šคํ„ด์Šค๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฑ์—…ํ•ฉ๋‹ˆ๋‹ค.
  • ์™ธ๋ถ€ MariaDB ์ธ์Šคํ„ด์Šค(๋งˆ์Šคํ„ฐ)๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ฌ ๊ฒฝ์šฐ
mysqldump -h{master_insance_floating_ip} -u{db_id} -p{db_password} --port={db_port} --single-transaction --master-data=2 --routines --events --triggers --databases {database_name1, database_name2, ...} > {local_path_and_file_name}
  • ์™ธ๋ถ€ MariaDB ์ธ์Šคํ„ด์Šค(์Šฌ๋ ˆ์ด๋ธŒ)๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ฌ ๊ฒฝ์šฐ
mysqldump -h{slave_insance_floating_ip} -u{db_id} -p{db_password} --port={db_port} --single-transaction --dump-slave=2 --routines --events --triggers --databases {database_name1, database_name2, ...} > {local_path_and_file_name}
  • ๋ฐฑ์—…๋œ ํŒŒ์ผ์„ ์—ด์–ด ์ฃผ์„์˜ MASTER_LOG_FILE ๋ฐ MASTER_LOG_POS๋ฅผ ๋”ฐ๋กœ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
  • NHN Cloud RDS ์ธ์Šคํ„ด์Šค๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฑ์—…ํ•  ํด๋ผ์ด์–ธํŠธ๋‚˜ ์ปดํ“จํ„ฐ์˜ ์šฉ๋Ÿ‰์ด ์ถฉ๋ถ„ํ•œ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  • ์™ธ๋ถ€ DB์˜ my.cnf(Winodws์˜ ๊ฒฝ์šฐ my.ini) ํŒŒ์ผ์— ์•„๋ž˜ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • server-id์˜ ๊ฒฝ์šฐ NHN Cloud RDS ์ธ์Šคํ„ด์Šค์˜ DB Configuration ํ•ญ๋ชฉ์˜ server-id์™€ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
...
[mysqld]
...
server-id={server_id}
replicate-ignore-db=rds_maintenance
...
  • ์™ธ๋ถ€ DB๋ฅผ ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๊ฐ€์ ธ์˜ค๋ฉด(import) ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋‚ด๋ถ€ NHN Cloud Image๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ฐฑ์—… ํŒŒ์ผ์„ ๋ณต์‚ฌํ•œ ํ›„, NHN Cloud๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐฑ์—…๋œ ํŒŒ์ผ์„ ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋กœ NHN Cloud RDS์— ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณต์ œ ๊ตฌ์„ฑ์€ DNS๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ IP๋กœ ๋ณ€ํ™˜ํ•ด ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
mysql -h{rds_master_insance_floating_ip} -u{db_id} -p{db_password} --port={db_port} < {local_path_and_file_name}
  • ์™ธ๋ถ€ MariaDB ์ธ์Šคํ„ด์Šค์—์„œ ๋ณต์ œ์— ์‚ฌ์šฉํ•  ๊ณ„์ •์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
mariadb> CREATE USER 'user_id_for_replication'@'{external_db_host}' IDENTIFIED BY '<password_forreplication_user>';
mariadb> GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'user_id_for_replication'@'{external_db_host}';
  • ๋ณต์ œ์— ์‚ฌ์šฉํ•  ๊ณ„์ • ์ •๋ณด์™€ ์•ž์—์„œ ๋”ฐ๋กœ ๊ธฐ๋กํ•ด ๋‘์—ˆ๋˜ MASTER_LOG_FILE, MSATER_LOG_POS๋ฅผ ์ด์šฉํ•˜์—ฌ NHN Cloud RDS์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
mariadb> call mysql.tcrds_repl_changemaster ('rds_master_instance_floating_ip',rds_master_instance_port,'user_id_for_replication','password_forreplication_user','MASTER_LOG_FILE',MASTER_LOG_POS );
  • ๋ณต์ œ๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ์•„๋ž˜ ํ”„๋กœ์‹œ์ €๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
mariadb> call mysql.tcrds_repl_slave_start;
  • ์™ธ๋ถ€ DB์™€ NHN Cloud RDS ์ธ์Šคํ„ด์Šค์˜ ์›๋ณธ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ™์•„์ง€๋ฉด ์•„๋ž˜ ๋ช…๋ น์„ ์ด์šฉํ•ด ๋ณต์ œ๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
mariadb> call mysql.tcrds_repl_init();

๋ถ€๋ก

๋ถ€๋ก1. ํ•˜์ดํผ๋ฐ”์ด์ € ์ ๊ฒ€์„ ์œ„ํ•œ DB ์ธ์Šคํ„ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€์ด๋“œ

NHN Cloud๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ DB ์ธ์Šคํ„ด์Šค์˜ ํ•˜์ดํผ๋ฐ”์ด์ € ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ๋ณด์•ˆ๊ณผ ์•ˆ์ •์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ ๊ฒ€ ๋Œ€์ƒ ํ•˜์ดํผ๋ฐ”์ด์ €์—์„œ ๊ตฌ๋™ ์ค‘์ธ DB ์ธ์Šคํ„ด์Šค๋Š” ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ํ†ตํ•ด ์ ๊ฒ€์ด ์™„๋ฃŒ๋œ ํ•˜์ดํผ๋ฐ”์ด์ €๋กœ ์ด๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

DB ์ธ์Šคํ„ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์€ NHN Cloud ์ฝ˜์†”์—์„œ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. DB ๊ตฌ์„ฑ์— ๋”ฐ๋ผ ํŠน์ • DB ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•˜์—ฌ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์‹œ, ์—ฐ๊ด€๋œ DB ์ธ์Šคํ„ด์Šค(์˜ˆ๋ฅผ ๋“ค๋ฉด Slave ์ธ์Šคํ„ด์Šค)๋„ ์ ๊ฒ€ ๋Œ€์ƒ์ด๋ฉด ๊ฐ™์ด ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ฐ€์ด๋“œ์— ๋”ฐ๋ผ ์ฝ˜์†”์— ์žˆ๋Š” ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜์‹ญ์‹œ์˜ค. ์ ๊ฒ€ ๋Œ€์ƒ์œผ๋กœ ์ง€์ •๋œ DB ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

1. ์ ๊ฒ€ ๋Œ€์ƒ DB ์ธ์Šคํ„ด์Šค๋ฅผ ํ™•์ธ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฆ„ ์˜†์— ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ฒ„ํŠผ์ด ์žˆ๋Š” DB ์ธ์Šคํ„ด์Šค๊ฐ€ ์ ๊ฒ€ ๋Œ€์ƒ ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค.

rds_planed_migration_0

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ฒ„ํŠผ ์œ„์— ๋งˆ์šฐ์Šค ํฌ์ธํ„ฐ๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ์ž์„ธํ•œ ์ ๊ฒ€ ์ผ์ •์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

rds_planed_migration_1

2. ์ ๊ฒ€ ๋Œ€์ƒ DB ์ธ์Šคํ„ด์Šค์— ์ ‘์† ์ค‘์ธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

DB์— ์—ฐ๊ฒฐ๋œ ์„œ๋น„์Šค์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋„๋ก ์ ์ ˆํ•œ ์กฐ์น˜๋ฅผ ์ทจํ•˜์‹ญ์‹œ์˜ค. ์„œ๋น„์Šค์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜๋ฐ–์— ์—†์„ ๋•Œ๋Š” NHN Cloud ๊ณ ๊ฐ ์„ผํ„ฐ๋กœ ์—ฐ๋ฝํ•ด ์ฃผ์‹œ๋ฉด ์ ํ•ฉํ•œ ์กฐ์น˜๋ฅผ ์•ˆ๋‚ดํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

3. ์ ๊ฒ€ ๋Œ€์ƒ DB ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ ํ›„ DB ์ธ์Šคํ„ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ™•์ธ์„ ๋ฌป๋Š” ์ฐฝ์ด ๋‚˜ํƒ€๋‚˜๋ฉด ํ™•์ธ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

rds_planed_migration_2

4. DB ์ธ์Šคํ„ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐํ•ฉ๋‹ˆ๋‹ค.

DB ์ธ์Šคํ„ด์Šค ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด '์ƒˆ๋กœ ๊ณ ์นจ'ํ•˜์‹ญ์‹œ์˜ค.

rds_planed_migration_3

DB ์ธ์Šคํ„ด์Šค๊ฐ€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๋˜๋Š” ๋™์•ˆ์—๋Š” ์•„๋ฌด๋Ÿฐ ์กฐ์ž‘์„ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. DB ์ธ์Šคํ„ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ์ •์ƒ์ ์œผ๋กœ ์™„๋ฃŒ๋˜์ง€ ์•Š์œผ๋ฉด ์ž๋™์œผ๋กœ ๊ด€๋ฆฌ์ž์—๊ฒŒ ๋ณด๊ณ ๋˜๋ฉฐ, NHN Cloud์—์„œ ๋ณ„๋„๋กœ ์—ฐ๋ฝ์„ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋ถ€๋ก2. RDS๋ฅผ ์ด์šฉํ•˜์—ฌ Federated Storage Engine ์‚ฌ์šฉ ์‹œ ๊ตฌ์„ฑ ๊ฐ€์ด๋“œ

Federated Storage Engine์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋กœ์ปฌ ๋…ธ๋“œ๋กœ์จ RDS๋ฅผ ์ด์šฉํ•˜๋Š” ๊ตฌ์„ฑ์˜ ๊ฒฝ์šฐ

  • ๋ฆฌ๋ชจํŠธ ๋…ธ๋“œ๋กœ์˜ ์†ก์‹ ์„ ํ—ˆ์šฉํ•˜๋Š” ์„ค์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • DB ๋ณด์•ˆ ๊ทธ๋ฃน์—์„œ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž์„ธํ•œ ์‚ฌํ•ญ์€ DB ๋ณด์•ˆ ๊ทธ๋ฃน ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋งŒ์•ฝ ๋กœ์ปฌ ๋…ธ๋“œ ์—ญํ• ์˜ RDS์— Read Only Slave๋ฅผ ์ถ”๊ฐ€ํ•œ ๊ตฌ์„ฑ์œผ๋กœ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ DB Configuration์˜ replicate-ignore-table์— federated ์„ค์ •๋œ ํ…Œ์ด๋ธ”์„ ๋ช…์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • Read Only Slave๋ฅผ ๊ตฌ์„ฑํ•  ๊ฒฝ์šฐ federated ํ…Œ์ด๋ธ” ๋˜ํ•œ ๋ณต์ œ๋˜์–ด Master์™€ Read Only Slave๊ฐ€ ๋ฆฌ๋ชจํŠธ ๋…ธ๋“œ๋ฅผ ํ•จ๊ป˜ ๋ฐ”๋ผ๋ณด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • ์ด ๊ฒฝ์šฐ Master์— ์ˆ˜ํ–‰ํ•œ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ์ด federated ์„ค์ •์— ๋”ฐ๋ผ ๋ฆฌ๋ชจํŠธ ๋…ธ๋“œ์—๋„ ์ˆ˜ํ–‰๋˜๊ณ , Read Only Slave์—์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋™์ผํ•œ ์ž…๋ ฅ์ด ์ˆ˜ํ–‰๋˜์–ด ์ค‘๋ณต ํ‚ค ์˜ค๋ฅ˜ ๋“ฑ์œผ๋กœ ์ธํ•œ ๋ณต์ œ ์ค‘๋‹จ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Read Only Slave๊ฐ€ federated ํ…Œ์ด๋ธ”์€ ๋ณต์ œํ•˜์ง€ ์•Š๋„๋ก replicate-ignore-table์— ์„ค์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ๋ชจํŠธ ๋…ธ๋“œ๋กœ์จ RDS๋ฅผ ์ด์šฉํ•˜๋Š” ๊ตฌ์„ฑ์˜ ๊ฒฝ์šฐ

  • ๋กœ์ปฌ ๋…ธ๋“œ์—์„œ์˜ ์ˆ˜์‹ ์„ ํ—ˆ์šฉํ•˜๋Š” ์„ค์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • DB ๋ณด์•ˆ ๊ทธ๋ฃน์—์„œ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž์„ธํ•œ ์‚ฌํ•ญ์€ DB ๋ณด์•ˆ ๊ทธ๋ฃน ํ•ญ๋ชฉ์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.
Table of Contents
TOP